Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Accessors en polymorfie zGoede gewoonte voor objectgeoriënteerde programma -> voor alle eigenschappen:

Slides:



Advertisements
Verwante presentaties
Artroscopie Blessure verslag kijkoperatie Naam: Ben Bitter Klas : 2F
Advertisements

Informatieanalyse klassediagram I.
Les 2 klassediagrammen II
OOS Object geOrienteerd Software-ontwerp
Programmeren in Java met BlueJ
Programmeren met Alice
Objecten en Volgordediagrammen
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
Van domeinklasse tot implementatie
Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Nog meer over klassen en het begrip overerving  nieuwe map -> Mensen  op eerste bladzijde: “ Alle mensen.
Polymorfie.
Het ontwerpen van een klasse
Klassen en objecten.
1 Tentamen 21 januari 2008 uitleg Algemene kennisvragen a)“Wat verstaan we onder de complexiteit van een algoritme?” –Cruciaal: wat gebeurt er met.
Inleiding Informatica
Hoofdstuk 6: Controle structuren
Hoofdstuk 4: Klassen definiëren
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
Hoofdstuk 2 Hallo, C# !.
‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.
Inhoud van een ontheffingsaanvraag. Kenmerken van het project Kenmerken van de omgeving versus Effecten van het project Toetsen aan welke criteria.
Opgave 1a: afronden int n=5; double a, b, c, d; a = n * 1.5; b = n * 3 / 2; c = n / 2 * 3; d = 3 / 2 * n; a b c d
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Oefeningen Hoofdstuk 3.
Java en BlueJ Een goed idee?.
Hoofdstuk 2 Objectgeoriënteerde basisbegrippen
Overerving Toepassingen. Overerving: toepassingen zoefening 1 : eenvoudige overerving.
Module 7 – Hoofdstuk 3 Unified Modeling Language.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
OO Analyse in de praktijk OO Analyse in de praktijk IV OO basisregels.
Wat willen we vandaag doen?
Visual Basic 2005/2008 OOP in praktijk André Obelink - MCSD, MVP Web: Web: -
Godsdienst.
Erasmushogeschool Brussel Naim Ben Tanfous Stef De Spiegeleer Joeri Verdeyen iCafe Een digitaal bestelsysteem voor de horeca. 2de zittijd.
H3. Communicatie Gesprekstechnieken.
Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma.
Objectgeoriënteerd Ontwerp
Interfaces Hoofdstuk 23 Hoofdstuk 23.
Overloading My name is overloading, cause we are many.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Polymorfisme: inleiding Hello me, meet the real me…
Constructoren Genesis 1:1 Aarde a1 = new Aarde(“Adam”, “Eva”);
Datacommunicatie en netwerken
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Polymorphisme en Interfaces: inleiding
Magister voor ouders.
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 8: Gebruikersinterface © 2014, Gertjan Laan, versie 2.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
OOP en.NET. Objecten Is geen ‘nieuw’ mysterieus woord Overal om ons heen zien we objecten: – TV – Computer – Auto – Wasmachine – ….
Hoe maakt u de juiste keuze?. Drie populaire begrippen die bij elke demonstratie genoemd worden…
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Bespreking testpracticum.  Javaconventies! ◦ KlasseNamen beginnen met Hoofdletter ◦ objectNamen/methodeNamen met kleine letter  Aanspreken GUI ◦ Zie.
 Hoe ga je op een pedagogische manier om met leerlingen die ongevraagd reageren op jouw als leerkracht tijdens een les?  Toelichting.
Objectgeoriënteerd Programmeren (2)
Inspectielijst in Ketenregister
Objectgeoriënteerd Programmeren
Gameprogrammeren: Methoden
Gameprogrammeren: Programmastructuur
Gameprogrammeren: Abstracte klassen
Unified Modeling Language
Gameprogrammeren: Klassen en objecten
Voeren en verzorgen Blok 2, Paard en ezel.
Loopbaan en burgerschap les 3
Software Development fundamentals
Unified Modeling Language
Transcript van de presentatie:

Hoofdstuk 2 Objectgeoriënteerde basisbegrippen

Accessors en polymorfie zGoede gewoonte voor objectgeoriënteerde programma -> voor alle eigenschappen: accessors en mutators -> steeds mutators en accessors gebruiken om eigenschappen te wijzigen en aan te roepen -> wijzigingen slechts op 1 plaats

Accessors en polymorfie  2 verschillen ten opzichte van voordien: -> voor alle eigenschappen : accessors accessor = ophalen van waarde van attribuut -> eventueel bewerkingen op attribuut alvorens weergave voorbeeld: getDronkenschap( ) alternatief voor hoeDronkenBenIk( )

Accessors en polymorfie

-> tweede verschil : herhaling van de methode watIsUwNaam( ) uit Mensen * enkel in geval van andere implementatie * als naam aan slechterik gevraagd wordt zegt hij erbij dat hij een slechterik is => verschillend gedrag bij aanroep voor object van klasse Slechterik als voor object van klasse Mensen, maar methode heeft dezelfde naam => polymorfie

Accessors en polymorfie

Verschil in gedrag -> zichtbaar in main

Accessors en polymorfie

 Jack -> vriendelijke slechterik benen = 1 via setBenen( ) geen paard geen jonkvrouw aan de haak geslagen  verschillende slechterik-objecten met ander gedrag  polymorfie -> door middel van methode watIsUwNaam( )

Relaties tussen objecten en klassen zRelaties tss objecten -> 2 manieren 1. Objecten zijn onafhankelijk 2. Object bevat andere objecten vb. via aggregatie (= klasserelatie): in Slechterik-voorbeeld : object maurice bevat -> object jonkvrouw (Mensen) -> snorKleur, naam (String-objecten) Alles in OO is object; zelfs onderdelen van object

Relaties tussen objecten en klassen -> eventuele communicatie via berichten = aanroepen van een methode om de toestand van een object te wijzigen of een gedrag uit te voeren =>uitvoering van methode = antwoord van object op het ontvangen van een bericht. -> berichtenverkeer in volgordediagram

Relaties tussen objecten en klassen -> berichten = belangrijk objectgeoriënteerd concept -> maken het mogelijk dat objecten onafhankelijk blijven: als een object een bericht naar een ander object verstuurt, dan kan het dat object niet schelen op welke manier het ander object besluit het aangevraagde gedrag uit te voeren. Het aanvragende object is er alleen in geïnteresseerd dat het gedrag optreedt.

Relaties tussen objecten en klassen -> objectgeoriënteerd = betere werkwijze -> betere benadering van de real world -> sluit nauwer aan bij onze denkwijze via sleuteleigenschap abstractie zonder abstractie -> onmogelijk meest eenvoudige opgave uit te voeren wegens constante hindering door een overvloed van details.