Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving ...

27
Hoofdstuk 2 Objectgeoriënteerde basisbegrippen

Transcript of Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving ...

Page 1: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Hoofdstuk 2

Objectgeoriënteerde basisbegrippen

Page 2: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

nieuwe map -> Mensen op eerste bladzijde:

“ Alle mensen hebben in het begin twee armen, twee benen, twee ogen, een neus en een mond. Ze zijn ofwel mannelijk of vrouwelijk, ze hebben een naam, een paard met een naam en verschillende voorkeuren van whiskey. Mensen kunnen antwoorden met hun naam, als iemand er om vraagt.”

Page 3: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

lichaamsonderdelen -> variabelen -> wijziging van waarden tijdens verhaal geslacht, naam, naam van het paard en whiskey :onbepaald -> niet alle mensen zijn gelijk -> worden gespecificeerd tijdens het plot een mens heeft een een zekere manier van handelen heeft, van interactiviteit -> utility methode in UML:

Page 4: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.
Page 5: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Page 6: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Page 7: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Page 8: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Alternatief = accessor getNaam( ) : String

Page 9: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Page 10: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Nieuwe klasse :SlechterikVerder bladeren in de map Mensen -> Slechterik is een onderdeel van Mensen

Slechteriken zijn gebaseerd op het begrip van mensen. Ze zijn identiek maar hebben een paar bijkomende kwaliteiten, namelijk: ze hebben een snor, een hoed, een zekere uitzicht, een bepaalde graad van dronkenschap en een zeker aantal jonkvrouwen in hun macht. Een standaard slechterik heeft een gemeen uitzicht, is in het begin van de dag nuchter en heeft nog geen jonkvrouwen kunnen versieren.

Page 11: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Slechterik breidt het begrip Mensen uitSlechterik is een subklasse van Mensenovererving -> Slechterik erft alle eigenschappen en

methoden over van Mensen

-> een Slechterik is een Mensin UML-voorstelling:

Page 12: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Page 13: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

methoden en attributen die niet in Slechterik gewijzigd worden -> niet herhaald in UML van Slechterik

Page 14: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

jonkvrouw :Mensen -> omdat uitgever moet weten wat een jonkvrouw is als een slechterik een jonkvrouw aan de haak slaagt.Uitzicht van slechterik is bepaald+ 3 methoden om snode plannen te kunnen uitvoerenmethode 1:

Telkens wanneer het hoofd (main) plot zegt dat de slechterik een whiskey drinkt, dan stijgt zijn niveau van dronkenschap met een eenheid.

Page 15: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Manier van handelen van een slechterik+ wijziging van het attribuut dronkenschap=> veel ontwikkelen over personage in de klasse zonder

iets aan het hoofdplot te moeten doen

Page 16: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

1e : naam van methode geschreven2e : wat gebeurt er als de methode wordt aangeroepen in het hoofdprogrammanaam = drinkWhiskey -> dronkenschap + 1Slechteriken -> stevige drinkers => hoe dronken nu al ?=> methode 2:

Als iemand een slechterik vraagt hoe dronken hij is, dan zal de slechterik altijd antwoorden met zijn niveau van dronkenschap.

Page 17: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

methode met return-waarde :type wordt erbij vermeld omdat uitgever niet van verassingen houdt.

Page 18: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

voor goed sluitend plot -> slechterik kan jonkvrouw aan de haak slaan.=> methode 3: info over iemand anders (nl :jonkvrouw) nodigwelke jonkvrouw -> open laten -> flexibiliteit

Als de slechterik verondersteld wordt een jonkvrouw aan de haak te slaan, sla dan de gespecificeerde jonkvrouw aan de haak, en verhoog vervolgens het aantal aan de haak geslagen jonkvrouwen met een eenheid. Druk dan af: “De slechterik heeft (de gespecificeerde jonkvrouw) aan de haak geslagen!”

Page 19: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

specificatie van jonkvrouw -> in plotEunice specificeert dat jonkvrouw een naam zal hebben -> welke: laterVOERUIT-> info uit methode -> wordt afgedrukt als gebeurtenis in boek inputparameter = argument : jonkvrouw : Mensen -> waarom?

Als in plot zou staan: slechterik.SlaagAanDeHaak( )

=> wie wordt aan de haak geslagen?

: Mensen -> wat aan de haak geslagen wordt is een mens

=> voor uitgever

Page 20: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Page 21: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

setJonkvrouw ( jonkvrouw )-> om uitgever content te stellen

-> enkel jonkvrouw gebruiken als de argument jonkvrouw

= het attribuut jonkvrouw isaantalJonkvrouwen + 1VOERUIT -> “ “ -> letterlijk op scherm

-> jonkvrouw.watIsUwNaam( ) ->

methode van een object -> niet letterlijk!

Overzicht:

Page 22: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.
Page 23: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Dit is het hoofd (main) plot van Geweerschoten in de Old West Saloon: er is een Western Stad, genaamd Sweaty Post. Sweaty Post heeft één sheriff, twee saloons en vijf ruziemakers. Er is een mannelijke slechterik met de naam Maurice. Maurice heeft een zwarte hoed, een rode snor en heeft een paard dat “Beer Gut” genoemd wordt. Maurice drinkt graag Jack Daniels whiskey. Mary is een vrouwelijk mens. Haar paard noemt “Midnight” en ze verkiest haar whiskey niet aangelengd. In ons verhaal, drinkt Maurice vanaf het begin whiskey. Hij laat dan iedereen weten hoe dronken hij is en slaat dan de vrouw Mary aan de haak.

Page 24: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

.

Page 25: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.
Page 26: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Tijdens instantiatie -> sommige inhouden van attributen worden vastgelegd -> zie constructors=> veel vertellen en weinig zeggen in hoofdplothoofdplot = verzameling van referenties naar objecten -> referenties zijn naar de klassenbehandeling op zo laag mogelijk niveauVoordelen:

1. Wijzigingen -> op 1 plaats:

vb vriendelijkere slechterik -> in constructor of

klasse Slechterik vriendelijker maken of nieuwe

klasse VriendelijkeSlechterik

Page 27: Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.

Nog meer over klassen en het begrip overerving

Voordelen:

2. Interactiviteit is mogelijk:

personages leven in klassen -> virtueel Sweaty

Post mogelijk -> lezers van haar website kunnen

eigen acties verwoorden -> personages

reageren hierop in verscheidene manieren,

overeenkomstig wat is vastgelegd in hun

klassen.

=>het Wilde Westen komt terug tot levenuitgever = compiler