"Bună, Amigo! Acum am să-ți spun despre cum sunt create obiectele."
"Ce este atât de complicat, unchiule Rishi? Scrieți nou și numele clasei, indicați constructorul corect și ați terminat!"
"Asta este adevărat. Dar ce se întâmplă în interiorul obiectului când faci asta?"
"Ce se întâmplă?"
„Iată ce se întâmplă: obiectul este creat în mai multe etape”.
1) În primul rând, memoria este alocată pentru toate variabilele membre ale clasei.
2) Apoi clasa de bază este inițializată.
3) Apoi tuturor variabilelor li se atribuie valori, dacă sunt specificate.
4) În cele din urmă, constructorul este numit.
„Nu pare foarte dificil: mai întâi variabilele, apoi constructorul”.
„Să vedem cum funcționează acest lucru într-un exemplu cu două clase:”
Cod | Descriere |
---|---|
|
Declarați două clase: Pet(animal de companie) și Cat(cat).
În clasa Cat, vedem un apel explicit la constructorul clasei de bază . Iată ce se întâmplă după ce memoria este alocată: Apoi clasa Cat începe să fie inițializată. |
|
"Este un pic confuz. De ce este atât de complicat?"
„De fapt, nu este dificil dacă știi ce se întâmplă cu adevărat:”
Dacă o clasă nu are niciun constructor, unul va fi creat automat.
Constructor implicit | |
---|---|
|
|
Dacă nu apelați constructorul clasei de bază, acesta va fi apelat automat.
Apelul constructorului clasei de bază | |
---|---|
|
|
|
|
Variabilele membre sunt inițializate în constructor.
Inițializarea variabilelor membre | |
---|---|
|
|
Ce se întâmplă cu adevărat | |
---|---|
|
|
„Acum este mult mai clar: mai întâi clasa de bază, apoi variabilele din afara constructorului, apoi codul constructorului.”
"Bravo, Amigo! Asta e!"
GO TO FULL VERSION