"Hello, Amigo! Ngayon sasabihin ko sa iyo kung paano nilikha ang mga bagay."
"Ano ang kumplikado tungkol dito, Tiyo Rishi? Sumulat ka ng bago at ang pangalan ng klase, ipahiwatig ang tamang constructor, at tapos ka na!"
"Totoo yan. Pero ano ang nangyayari sa loob ng bagay kapag ginawa mo iyon?"
"Anong nangyayari?"
"Ito ang nangyayari: Ang bagay ay nilikha sa maraming yugto."
1) Una, ang memorya ay inilalaan para sa lahat ng mga variable ng miyembro ng klase.
2) Pagkatapos ay ang batayang klase ay pinasimulan.
3) Pagkatapos ang lahat ng mga variable ay nakatalaga ng mga halaga, kung mayroon man ay tinukoy.
4) Sa wakas, tinawag ang tagabuo.
"Hindi ito mukhang napakahirap: una ang mga variable, pagkatapos ay ang tagabuo."
"Tingnan natin kung paano ito gumagana sa isang halimbawa na may dalawang klase:"
Code | Paglalarawan |
---|---|
|
Ideklara ang dalawang klase: Pet(pet) at Cat(cat).
Sa klase ng Cat, nakikita natin ang isang tahasang tawag sa constructor ng base class . Narito kung ano ang mangyayari pagkatapos ilaan ang memorya: Pagkatapos ay magsisimulang masimulan ang klase ng Cat. |
|
"Medyo nakakalito. Bakit ba napakakomplikado?"
"Hindi talaga mahirap kung alam mo kung ano talaga ang nangyayari:"
Kung ang isang klase ay walang anumang mga konstruktor, ang isa ay awtomatikong malilikha.
Default na tagabuo | |
---|---|
|
|
Kung hindi mo tatawagan ang base class constructor, awtomatiko itong tatawagin.
Tawag ng constructor ng base class | |
---|---|
|
|
|
|
Ang mga variable ng miyembro ay sinisimulan sa constructor.
Pagsisimula ng mga variable ng miyembro | |
---|---|
|
|
Kung ano talaga ang nangyayari | |
---|---|
|
|
"Ngayon ito ay mas malinaw: una ang base class, pagkatapos ay mga variable sa labas ng constructor, pagkatapos ay ang constructor code."
"Magaling, Amigo! Ayan na!"
GO TO FULL VERSION