270 likes | 376 Views
Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving. nieuwe map -> Mensen op eerste bladzijde:
E N D
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.”
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:
Nog meer over klassen en het begrip overerving Alternatief = accessor getNaam( ) : String
Nog meer over klassen en het begrip overerving Nieuwe klasse :Slechterik Verder 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.
Nog meer over klassen en het begrip overerving Slechterik breidt het begrip Mensen uit Slechterik is een subklasse van Mensen overerving -> Slechterik erft alle eigenschappen en methoden over van Mensen -> een Slechterik is een Mens in UML-voorstelling:
Nog meer over klassen en het begrip overerving methoden en attributen die niet in Slechterik gewijzigd worden -> niet herhaald in UML van Slechterik
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 uitvoeren methode 1: Telkens wanneer het hoofd (main) plot zegt dat de slechterik een whiskey drinkt, dan stijgt zijn niveau van dronkenschap met een eenheid.
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
Nog meer over klassen en het begrip overerving 1e : naam van methode geschreven 2e : wat gebeurt er als de methode wordt aangeroepen in het hoofdprogramma naam = drinkWhiskey -> dronkenschap + 1 Slechteriken -> 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.
Nog meer over klassen en het begrip overerving methode met return-waarde :type wordt erbij vermeld omdat uitgever niet van verassingen houdt.
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) nodig welke 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!”
Nog meer over klassen en het begrip overerving specificatie van jonkvrouw -> in plot Eunice specificeert dat jonkvrouw een naam zal hebben -> welke: later VOERUIT-> 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
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 is aantalJonkvrouwen + 1 VOERUIT -> “ “ -> letterlijk op scherm -> jonkvrouw.watIsUwNaam( ) -> methode van een object -> niet letterlijk! Overzicht:
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.
Nog meer over klassen en het begrip overerving Tijdens instantiatie -> sommige inhouden van attributen worden vastgelegd -> zie constructors => veel vertellen en weinig zeggen in hoofdplot hoofdplot = verzameling van referenties naar objecten -> referenties zijn naar de klassen behandeling op zo laag mogelijk niveau Voordelen: 1. Wijzigingen -> op 1 plaats: vb vriendelijkere slechterik -> in constructor of klasse Slechterik vriendelijker maken of nieuwe klasse VriendelijkeSlechterik
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 leven uitgever = compiler