"Merhaba Amigo! Şimdi size nesnelerin nasıl yaratıldığını anlatacağım."
"Bunun nesi bu kadar karmaşık, Rishi Amca? Yeni ve sınıf adını yazıyorsun, doğru kurucuyu belirtiyorsun ve işin bitiyor!"
"Bu doğru. Ama bunu yaptığınızda nesnenin içinde ne oluyor?"
"Ne oluyor?"
"Olan şey şu: Nesne birkaç aşamada yaratılıyor."
1) İlk olarak, sınıfın tüm üye değişkenleri için bellek ayrılır.
2) Ardından temel sınıf başlatılır.
3) Ardından, varsa tüm değişkenlere değerler atanır.
4) Son olarak, yapıcı çağrılır.
"Çok zor görünmüyor: önce değişkenler, sonra yapıcı."
"Bunun iki sınıflı bir örnekte nasıl çalıştığını görelim:"
kod | Tanım |
---|---|
|
İki sınıf bildirin: Pet(pet) ve Cat(cat).
Cat sınıfında, temel sınıfın yapıcısına açık bir çağrı görüyoruz . Bellek tahsis edildikten sonra şunlar olur: Ardından Cat sınıfı başlatılmaya başlar. |
|
"Bu biraz kafa karıştırıcı. Neden bu kadar karmaşık?"
"Aslında gerçekte neler olup bittiğini biliyorsanız, aslında zor değil:"
Bir sınıfın herhangi bir yapıcısı yoksa, otomatik olarak bir tane oluşturulur.
varsayılan kurucu | |
---|---|
|
|
Temel sınıf yapıcısını çağırmazsanız, otomatik olarak çağrılacaktır.
Temel sınıfın kurucusunun çağrılması | |
---|---|
|
|
|
|
Üye değişkenleri yapıcıda başlatılır.
Üye değişkenlerin başlatılması | |
---|---|
|
|
gerçekten ne oluyor | |
---|---|
|
|
"Şimdi çok daha açık: önce temel sınıf, sonra yapıcının dışındaki değişkenler, sonra da yapıcı kodu."
"Aferin Amigo! İşte bu kadar!"
GO TO FULL VERSION