De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hoofdstuk 2 Objectgeoriënteerde basisbegrippen

Verwante presentaties


Presentatie over: "Hoofdstuk 2 Objectgeoriënteerde basisbegrippen"— Transcript van de presentatie:

1 Hoofdstuk 2 Objectgeoriënteerde basisbegrippen

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

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

4 Wat is een object? Eigenschappen van object
1. onafhankelijk (andere objecten, rest programma) functioneren -> atomaire eenheid 2. Object komt overeen met tastbaar object: auto abstracte dingen of een concept: rekening organisatorische eenheid: bestand, window interactie: aankoop rol: oude winkeldochter

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

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

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

8 Klassen - Definitie klasse = sjabloon : -> instantiëren van objecten klasse = koekjesvorm -> object = koekje UML-voorstelling + pseudo-code Westernroman van Eunice

9 Klassen - Definitie klasse = sjabloon : -> instantiëren van objecten klasse = koekjesvorm -> object = koekje UML-voorstelling + pseudo-code Westernroman van Eunice

10 Voorbeeld - Westernroman
Westernroman van Eunice = steeds succesvol Reden = 1 blad = volledig verhaal = enkel plot Rest in mappen apart die ze dan meestuurt naar haar uitgever Op blad: titel: ” Geweerschoten in de Old West Saloon” eerste 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
beschrijving = niet grondig levert 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
Wat wordt beschreven + schrijfwijze Soort variabelen = eigenschappen of attributen nu nog object construeren met defaultwaarden voor attributen java ter illustratie ipv 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
WesternStad( ) -> constructor dient om objecten te maken of te instantiëren geeft eventueel standaardwaarden mee zegt hoe object of instantie er standaard uit zal zien Pseudo-code ter aanvulling van het klassediagram

18 UML-voorstelling van een klasse

19 UML-voorstelling van een klasse
Specificaties van methodes: in- 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: postcondities = ->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 objectgeoriënteerde programmeren -> accessors en mutators voor alle attributen -> aanpassen/oproepen via deze methodes

26 Zichtbaarheid 1. Privaat -> in UML : - 2. Publiek -> in UML : +
wat getoond wordt en wat niet elke objectgeoriënteerde taal -> eigen sleutelwoorden 3 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 constructor -> gebruik van mutators accessors -> voorlopig niet nodig

28 Toepassing + inkapseling Nieuwe UML-voorstelling van Westernstad

29 Toepassing + inkapseling
void -> geen returnwaarde

30 Toepassing + inkapseling
Aangepaste constructor

31 Object -> Klasse piepje in de verzamelmap WesternStad
Eunice besluit -> verhaal in een WesternStad hoofd (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 Object -> Klasse hoofdprogramma: in pseudo-code
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:
eerst 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"

Verwante presentaties


Ads door Google