"Helló, Amigo! Most arról fogok mesélni, hogyan jönnek létre a tárgyak."
"Mi ebben olyan bonyolult, Rishi bácsi? Írsz újat és az osztálynevet, megjelölöd a megfelelő konstruktort, és kész!"
– Ez igaz. De mi történik a tárgy belsejében, amikor ezt megteszed?
"Mi történik?"
"Ez történik: az objektum több szakaszban jön létre."
1) Először is, a memória le van foglalva az osztály összes tagváltozójához.
2) Ezután az alaposztály inicializálódik.
3) Ezután minden változóhoz értéket rendelünk, ha vannak megadva.
4) Végül a konstruktort meghívjuk.
"Nem tűnik túl nehéznek: először a változók, aztán a konstruktor."
"Nézzük meg, hogyan működik ez egy példán két osztályból:"
Kód | Leírás |
---|---|
|
Jelöljön ki két osztályt: kisállat (kisállat) és macska (macska).
A Cat osztályban explicit hívást látunk az alaposztály konstruktorához . Íme, mi történik a memória lefoglalása után: Ezután megkezdődik a Cat osztály inicializálása. |
|
"Ez egy kicsit zavaró. Miért olyan bonyolult?"
"Tulajdonképpen nem nehéz, ha tudod, mi történik valójában:"
Ha egy osztálynak nincs konstruktora, akkor automatikusan létrejön egy.
Alapértelmezett konstruktor | |
---|---|
|
|
Ha nem hívja meg az alaposztály konstruktorát, akkor az automatikusan meghívódik.
Az alaposztály konstruktorának hívása | |
---|---|
|
|
|
|
A tagváltozók inicializálása a konstruktorban történik.
Tagváltozók inicializálása | |
---|---|
|
|
Mi történik valójában | |
---|---|
|
|
"Most már sokkal egyértelműbb: először az alaposztály, majd a konstruktoron kívüli változók, majd a konstruktor kód."
"Jól van, Amigo! Ez az!"
GO TO FULL VERSION