Skillnad mellan versioner av "Objektorienterad modellering och implementation"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 19: | Rad 19: | ||
= <b><span style="color:#931136">Modellering i fyra steg</span></b> = | = <b><span style="color:#931136">Modellering i fyra steg</span></b> = | ||
<div class="ovnC"> | <div class="ovnC"> | ||
− | <b><span style="color:red">Steg | + | <big> |
+ | <b><span style="color:red">Steg 1</span></b> Programmet <b>AllaPrimtal</b> hittar alla primtal i ett intervall, använder modulen <b>PrimFkt</b>. | ||
− | <b><span style="color:red">Steg 3</span></b> Programmet <b>PrimFaktorer</b> faktoriserar ett primtal, modifierar modulen <b>PrimFkt</b>. | + | <b><span style="color:red">Steg 2</span></b> Programmet <b>PrimFaktorer</b> faktoriserar ett primtal, modifierar modulen <b>PrimFkt</b>. |
+ | |||
+ | <b><span style="color:red">Steg 3</span></b> Programmet <b>AllaPrimtal</b> hittar alla primtal i ett intervall, använder modulen <b>PrimFkt</b>. | ||
+ | |||
+ | <b><span style="color:red">Steg 4</span></b> Programmet <b>PrimFaktorer</b> faktoriserar ett primtal, modifierar modulen <b>PrimFkt</b>. | ||
+ | </big> | ||
</div> | </div> | ||
Versionen från 1 februari 2021 kl. 14.56
Lektion 21 | Genomgång | Övningar |
Projekt Lönespecifikation
Modellering i fyra steg
Steg 1 Programmet AllaPrimtal hittar alla primtal i ett intervall, använder modulen PrimFkt.
Steg 2 Programmet PrimFaktorer faktoriserar ett primtal, modifierar modulen PrimFkt.
Steg 3 Programmet AllaPrimtal hittar alla primtal i ett intervall, använder modulen PrimFkt.
Steg 4 Programmet PrimFaktorer faktoriserar ett primtal, modifierar modulen PrimFkt.
Klassen Fisk
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.
På rad 26 överskrids arrayens övre indexgräns, eftersom no[4] är arrayens 5:te element som är odefinierat.
Programmet ArrayOfRef
På 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
Läs om Referensvariabler på sid 88-91 och om Array av referenser på sid 113-116.
Copyright © 2021 TechPages AB. All Rights Reserved.