Skillnad mellan versioner av "Array av referenser"
Taifun (Diskussion | bidrag) m |
Taifun (Diskussion | bidrag) m |
||
Rad 48: | Rad 48: | ||
På samma <b><span style="color:green">rad 10</span></b> (i samma sats) tilldelas varje element av referensarrayen ett Fisk-objekt. | På samma <b><span style="color:green">rad 10</span></b> (i samma sats) tilldelas varje element av referensarrayen ett Fisk-objekt. | ||
− | Tanken om att direkt skapa en "array av objekt" måste förkastas. Lösningen är en <b | + | Tanken om att direkt skapa en "array av objekt" måste förkastas. Lösningen är en <b>tvåstegsmetod</b>: |
<b>Steg 1:</b> <b><span style="color:red">Skapa en array av referenser</span></b>. | <b>Steg 1:</b> <b><span style="color:red">Skapa en array av referenser</span></b>. |
Versionen från 23 januari 2021 kl. 14.46
Lektion 20 | Genomgång | Övningar |
Referensvariabler
Referensen "pekar" på objektet
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 referenser av storleken 5 (utanför loopen).
OBS! new på rad 7 skapar inte ett Fisk-objekt utan en array av referenser av typ Fisk.
Själva Fisk-objekten skapas på rad 10 i varje varv av for-loopen.
På samma rad 10 (i samma sats) tilldelas varje element av referensarrayen ett Fisk-objekt.
Tanken om att direkt 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 element av referensarrayen 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.