Objektorienterad modellering och implementation

Från Mathonline
Version från den 1 februari 2021 kl. 15.18 av Taifun (Diskussion | bidrag)

Hoppa till: navigering, sök
       Lektion 21          Genomgång          Övningar      


Projekt Lönespecifikation

Utdrag ur kursboken, sid 117:

Proj Lonespecifikation.jpg


Objektorienterad modellering i fyra steg

Steg 1   Att förstå problemet: Läs kundens kravspecifikation om och om igen!

Steg 2   Att identifiera problemets nyckelbegrepp:

Det är något viktigt för verksamheten – reellt eller virtuellt – som man kommer att behöva lagra information om.

Steg 3   Att identifiera datamedlemmar till varje klass.

Steg 4   Att identifiera metoder till varje klass.


Klassen Fisk

Fish.jpg

För enkelhetens skull deklareras klassens alla medlemmar som public. Därför definieras inte heller någon konstruktor.

Typkonverteringen till int behövs däför att returtypen till metoderna är int.

rad 26 överskrids arrayens övre indexgräns, eftersom no[4] är arrayens 5:te element som är odefinierat.


Programmet ArrayOfRef

ArrayOfRefa.jpg

rad 7 skapas en array av 5 referenser: f[0], f[1], ... , f[4] av koden new Fisk[5].

f är ingen array av Fisk-objekt utan en array av referenser av typ Fisk.

Fisk-objekten skapas på rad 10 i for-loopen av koden new Fisk(). I samma sats tilldelas de till referenserna f[i].

Varje referens f[i] pekar nu på ett Fisk-objekt:   i = 0, 1, ... , 4   eftersom for-loopen har 5 varv.

Tanken om att skapa en "array av objekt" måste förkastas. Lösningen är en tvåstegsmetod:

Steg 1:   Skapa en array av referenser.

Steg 2:   Låta varje referens i arrayen peka på ett objekt.


Ett körexempel

ArrayOfRefKorex.jpg


Läs om Referensvariabler på sid 88-91 och om Array av referenser på sid 113-116.


 










Copyright © 2021 TechPages AB. All Rights Reserved.