160 likes | 300 Views
OO Analyse in de praktijk. IV OO basisregels. Boeken/tutorials:. Object Oriented Software Construction, Bertrand Meyer. Waarom regels ?. Consistentie Als iedereen dezelfde regels gebruikt, dan zullen de verschillende onderdelen goed samenwerken.
E N D
OO Analysein de praktijk IV OO basisregels
Boeken/tutorials: • Object Oriented Software Construction, Bertrand Meyer OO Analyse, IV OO basisprincipes
Waarom regels ? • Consistentie • Als iedereen dezelfde regels gebruikt, • dan zullen de verschillende onderdelen goed samenwerken. • dan begijpt elk teamlid de code/het design van een ander beter • Minder manieren om eenzelfde probleem op te lossen • Minder tijdverlies bij het tobben over welke oplossing het beste is. OO Analyse, IV OO basisprincipes
Waarom regels ? (vervolg) • Betere Code: • = Makkelijker/goedkoper/sneller te wijzigen systemen, … Opmerking hierover: Het belangrijkste blijft het respect voor het project, de code, de methode, enz. OO Analyse, IV OO basisprincipes
Verschil object-klasse • Een object is één instantie van een klasse. • Een klasse beschrijft algemeenheden over zijn objecten. • Voorbeeld : Als Antwerpen een object is, dan zou Stad zijn klasse kunnen zijn. OO Analyse, IV OO basisprincipes
Verschil object-klasse • Oefening Vul de ontbrekende cellen in: OO Analyse, IV OO basisprincipes
Complete klasse • Een klasse bevat i.h.a. zowel attributen als niet triviale methoden. • Waarom: attributen en methoden van een klasse wijzigen vaak samen en horen dus samen. • Voorbeeld : Bankrekening -stand: double +haalAf(bedrag: double) +schrijfOver(bedrag: double, naar: Bankrekening) +double getStand() +setStand(stand: double) OO Analyse, IV OO basisprincipes
Complete klasse • Oefening Wat is er eigenaardig bij dit voorbeeld: Verrichtingen BankRekening -stand +haalAf(van :BR, bedrag) +getStand() +schrijfOver(bedrag, van: BR, naar: BR) +setStand(stand) OO Analyse, IV OO basisprincipes
Veranderlijke eigenschappen • Een veranderlijke eigenschap wordt voorgesteld door een attribuut. • Een onveranderlijke eigenschap kan leiden tot een extra subklasse als het aantal waarden beperkt is. • Waarom? • attributen zijn wijzigbaar maar een object kan niet van klasse veranderen • Vb: Persoon Persoon -burgStaat +getBurgStaat() … Gehuwde Alleenstaande OO Analyse, IV OO basisprincipes
Veranderlijke eigenschappen • Oefening 1 Stel we willen modelleren dat sommige vogels tot een soort behoren die kan zwemmen, en andere niet. Is dit goed ? Vogel -kanZwemmen: bool … +fladder() … OO Analyse, IV OO basisprincipes
Veranderlijke eigenschappen • Oefening 2 Is dit goed ? Persoon -gebDatum … +getLeeftijd() +trouwMet(Persoon partner) … OO Analyse, IV OO basisprincipes
Gemeenschappelijke code • Gemeenschappelijke code binnen een klasse moet ondergebracht worden in een aparte methode die dan meermaals wordt opgeroepen. • Waarom ? • Wijzigingen moeten dan nog maar op 1 plaats gebeuren. -> vermijden van bugs. • Voorbeeld: zie volgende slide OO Analyse, IV OO basisprincipes
Gemeenschappelijke code • Voorbeeld OO Analyse, IV OO basisprincipes
Gemeenschappelijke code • Oefening: Verbeter de code: OO Analyse, IV OO basisprincipes
Command-Query • 1. Een methode die een resultaat teruggeeft, mag NIETS wijzigen. (query) • 2. Een methode die iets wijzigt, mag GEEN resultaat teruggeven. (command) • Waarom ? • Alg.: Een methode moet 1 duidelijk omlijnde opdracht hebben. • Je verwacht niet dat een query iets wijzigt (side effect). • Voorbeeld. Volgende slide. OO Analyse, IV OO basisprincipes
Command-Query OO Analyse, IV OO basisprincipes