De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Inleiding z object, klasse, hoe klassen communiceren z UML-voorstelling + pseudo-code z rode draad = western.

Verwante presentaties


Presentatie over: "Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Inleiding z object, klasse, hoe klassen communiceren z UML-voorstelling + pseudo-code z rode draad = western."— Transcript van de presentatie:

1 Hoofdstuk 2 Objectgeoriënteerde basisbegrippen

2 Inleiding z object, klasse, hoe klassen communiceren z UML-voorstelling + pseudo-code z rode draad = western roman z3 soorten kaders (enkel, dubbel, koord) zvetgedrukte termen = objectgeoriënteerde termen zdeze leiden ons naar de 3 objectgeoriënteerde steunpilaren : inkapseling, overerving, polymorfie

3 Wat is een object? zVerschil tussen objectgeoriënteerde software en traditionele software zobject = ding dat voorkomt in de scope die we moeten automatiseren

4 Wat is een object? Eigenschappen van object z1. onafhankelijk (andere objecten, rest programma) functioneren -> atomaire eenheid z2. Object komt overeen met ytastbaar object: auto yabstracte dingen of een concept: rekening yorganisatorische eenheid: bestand, window yinteractie: aankoop yrol: oude winkeldochter

5 Wat is een object? Eigenschappen van object z3. Eigen gespecialiseerde kennis in bepaald gebied, binnen algemeen probleemdomein z4. Data en bewerkingen -> gecombineerd tot logische eenheid object -> klasse = verzameling van objecten

6 Klassen - Definitie zKlasse = implementatie van een verzameling bij elkaar horende objecten

7 Klassen - Definitie zCf. biologie = klasse zoogdieren:-> mensen, katten, honden zGedeelde kenmerken -> gemeenschappelijkheid Gerelateerde objecten -> klasse zin definitie van een klasse: members van een klasse zmembers: gemeenschappelijke 1. Eigenschappen=kenmerken=soort data= attributen 2. Gedragingen= acties/operaties= methoden

8 Klassen - Definitie zklasse = sjabloon : -> instantiëren van objecten zklasse = koekjesvorm -> object = koekje zUML-voorstelling + pseudo-code zWesternroman van Eunice

9 Klassen - Definitie zklasse = sjabloon : -> instantiëren van objecten zklasse = koekjesvorm -> object = koekje zUML-voorstelling + pseudo-code zWesternroman van Eunice

10 Voorbeeld - Westernroman zWesternroman van Eunice = steeds succesvol zReden = 1 blad = volledig verhaal = enkel plot zRest in mappen apart die ze dan meestuurt naar haar uitgever zOp blad: titel: ” Geweerschoten in de Old West Saloon” zeerste wat nodig is: een setting -> map Western Steden

11 Voorbeeld - Westernroman Elke Western stad heeft een aantal hoofdingrediënten: stallen, saloons, sheriffs en een paar ruziemakers. Een standaard stad heeft drie stallen en is gelokaliseerd ten Westen van de Mississippi ergens rond 1850.

12 Voorbeeld - Westernroman zbeschrijving = niet grondig zlevert 2 belangrijke zaken 1.De hoofdingrediënten voor een Western stad; 2.Verschillende waarden voor de ingrediënten in een standaard Western stad

13 Voorbeeld - Westernroman WesternStad heeft een zeker aantal stallen heeft een zeker aantal saloons heeft een zeker aantal sheriffs heeft een zeker aantal ruziemakers bevindt zich ergens bestaat op een zekere periode een typische WesternStad zal hebben: een aantal stallen = 3 locatie = Wilde Westen van Amerika tijdsperiode = 1850

14 Voorbeeld - Westernroman zWat wordt beschreven + schrijfwijze zSoort variabelen = eigenschappen of attributen znu nog object construeren met defaultwaarden voor attributen zjava ter illustratie zipv 1 Westernstad, hele klasse die zegt welke elementen erin zitten maar niet hoeveel

15 UML-voorstelling van een klasse algemeen:

16 UML-voorstelling van een klasse Toegepast op WesternStad:

17 UML-voorstelling van een klasse zWesternStad( ) -> constructor zdient om objecten te maken of te instantiëren zgeeft eventueel standaardwaarden mee zzegt hoe object of instantie er standaard uit zal zien zPseudo-code ter aanvulling van het klassediagram

18 UML-voorstelling van een klasse

19 Specificaties van methodes: zin- en uitvoer naast naam methode invoer = input voor correct functioneren -> argumenten met naam en type uitvoer = resultaat, returnwaarden  type = soort methode  precondities = beginvoorwaarden

20 UML-voorstelling van een klasse Specificaties van methodes: zpostcondities = ->veranderingen die de methode aanbrengt ->voorwaarden die gelden na de methode ->waaruit bestaat de output  gebruikt = andere methodes  gegevens -> lokale variabelen, maar niet de attributen  constanten -> in hoofdletters

21 Soorten methodes 4 soorten methodes: 1. constructor = creëren objecten van klassen =instantiëren ->objecten = instanties ->voorwaarden die gelden na de methode ->2 soorten constructor met argumenten ->argumenten = initialisatie van de attributen noarg-constructor ->initialisatie met standaardwaarden

22 Soorten methodes 4 soorten methodes: 2. Accessor -> waarde van attributen van de klasse ->toegang tot interne toestand van objecten ->rechtstreeks ->verwerking/wijziging van de inhoud ->niet zichtbaar getX( ): ->= accessor methode die toegang geeft tot het attribuut x; de “getty”-methodes.

23 Soorten methodes 4 soorten methodes: 3. Mutator -> wijziging van de waarde van de attributen van de klasse -> wijzigen van interne toestand van object bij aanroep van deze methode van buitenaf -> invoer kan verwerkt worden, voordat deze de interne toestand van het object wijzigt. setX( ): ->= mutator methode die toelaat een attribuut x te veranderen; de “setty”-methodes.

24 Soorten methodes 4 soorten methodes: 4.Utility methodes -> andere methodes -> private (enkel toegankelijk van binnen uit de klasse) functies voor intern gebruik -> publieke methodes ->kunnen gebruik maken van de getter en setter-methodes

25 Soorten methodes  gedrag van een object : accessors + mutators  toestand van een object: inhoud van de attributen  elk object start als een kloon, maar kan zich tijdens zijn leven anders gedragen. -> vb twee WesternStadobjecten met ander aantal ruziemakers ->grijs zoogdier /bruin zoogdier zobjectgeoriënteerde programmeren -> accessors en mutators voor alle attributen -> aanpassen/oproepen via deze methodes

26 Zichtbaarheid zwat getoond wordt en wat niet  elke objectgeoriënteerde taal -> eigen sleutelwoorden z3 niveaus van toegang: 1. Privaat -> in UML : - 2. Publiek -> in UML : + 3. Beveiligd/protected -> in UML : #  inkapseling -> belangrijk voor ontwerp : ->Elk gedrag dat u wilt tonen-> publieke ->Alles wat u wilt verbergen-> beveiligd of privaat

27 Toepassing + inkapseling  toepassen op WesternStad  attributen->privaat omwille van inkapseling  voor elk attribuut -> mutator  mutator -> beschikbaar voor gebruikers van de klasse -> publiek  inhoud van mutator via pseudo-code zconstructor -> gebruik van mutators zaccessors -> voorlopig niet nodig

28 Toepassing + inkapseling Nieuwe UML-voorstelling van Westernstad

29 Toepassing + inkapseling  void -> geen returnwaarde

30 Toepassing + inkapseling zAangepaste constructor

31 Object -> Klasse  piepje in de verzamelmap WesternStad  Eunice besluit -> verhaal in een WesternStad zhoofd (main) blad papier -> eerste deel van plot Geweerschoten in de Old West Saloon Dit verhaal speelt zich af in een Western Stad, genaamd Sweaty Post. Sweaty Post heeft één sheriff, twee saloons en vijf ruziemakers.

32 Object -> Klasse  veel informatie in die paar lijnen  verhaal -> uitgever -> betekenis WesternStad uit verzamelmap -> direkt datum, de locatie en aantal stallen -> Eunice levert gegevens bij voor de andere attributen, zoals de uitgever te verwachten was.

33 Object -> Klasse hoofdprogramma: in pseudo-code

34 Volgende acties worden achtereenvolgens ondernomen:  Instantiatie van een object: sweatyPost  invullen van ontbrekende informatie -> private eigenschappen -> gebruik van mutators: « naam object ».setX(waarde voor X)

35 Object -> Klasse objectgeoriënteerde programmeertechniek in actie: zeerst wordt een klasse( = verzamelmap) WesternStad gemaakt, die een ruwe beschrijving bevat  dan in het hoofdprogramma instantiatie van een object: sweatyPost


Download ppt "Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Inleiding z object, klasse, hoe klassen communiceren z UML-voorstelling + pseudo-code z rode draad = western."

Verwante presentaties


Ads door Google