— Salom, Amigo! Hozir men senga obyekt yaratish jarayoni haqida gapirib beraman.
— Nima qiyin, Risha amaki? new sinf nomini yozib, to'g'ri konstruktorni ko'rsatib tayyorlash!
— Bu to'g'ri. Lekin obyekt ichida nima sodir bo'ladi?
— Nima sodir bo'ladi?
— Mana nima! Obyekt bir necha bosqichda yaratiladi.
1) Avvalo barcha o'zgaruvchilar – sinf maydonlari uchun xotira ajratiladi.
2) Keyin asosiy sinf initsializatsiyasi amalga oshiriladi.
3) So'ng o'zgaruvchilarga qiymat beriladi, agar ular ko'rsatilgan bo'lsa.
4) Va nihoyat, konstruktor chaqiriladi.
— Juda qiyin emas ko'rinadi: avval o'zgaruvchilar, keyin konstruktor.
— Keling, ikki sinf misolida bu qanday ishlashini ko'rib chiqaylik:
| Kod | Tavsif |
|---|---|
|
Biz ikki sinfni yaratdik: Pet(hayvon) va Cat(mushuk). Cat sinfida biz asosiy sinf konstruktorini ochiqcha chaqirganmiz. Xotirani ajratgandan keyin nima bo'ladi: so'ng Cat sinfini initsializatsiya qilish jarayoni boshlanadi |
|
— Bir oz chalkash, nima uchun bu qadar qiyin?
— Aslida qiyin emas, agar nima sodir bo'lishini bilsangiz:
Agar sinfda birorta ham konstruktor bo'lmasa, u avtomatik ravishda yaratiladi.
| Standart konstruktor | |
|---|---|
|
|
Agar asosiy sinf konstruktorini chaqirmasangiz, uning chaqirilishi avtomatik ravishda qo'shiladi.
| Asosiy sinf konstruktorini chaqirish | |
|---|---|
|
|
|
|
Sinfning o'zgaruvchilarini initsializatsiya qilish konstruktor ichida sodir bo'ladi.
| Sinf o'zgaruvchilarini initsializatsiya qilish | |
|---|---|
|
|
| Bu qanday sodir bo'ladi | |
|---|---|
|
|
— Endi ancha tushunarli: birinchi asosiy sinf, keyin konstruktor tashqarisidagi o'zgaruvchilar, keyin konstruktor kodini chaqirish.
— Ajoyib, Amigo, aynan shunday!
GO TO FULL VERSION