public () {}
Bu komponentali funksiya nomi sinf nomi bilan bir xil bo‘lishi lozim.
Dasturchi tomonidan ko‘rsatilmagan xolda ham new operator yordamida sinf obyekti yaratilganda yoki xotirada joylashganda konstruktor avtomatik ravishda chaqiriladi.
Konstruktor obyekt uchun xotirada joy ajratadi va ma’lumotlar – sinf a’zolarini initsializatsiyalaydi.
Konstruktor bir nechta xususiyatlarga ega:
Konstruktorlar uchun kaytariluvchi tiplar, hatto void tipi ham ko‘rsatilmaydi
Konstruktor adresini hisoblash mumkin emas. Konstruktor parametri sifatida o’z sinfining nomini ishlatish mumkin emas, lekin bu nomga ko‘rsatkichdan foydalanish mumkin.
Konstruktorlar vorislikga ega yemas.
Konstruktorlar ixtiyoriy sinflar uchun doimo mavjud, lekin agarda u ko‘rsatilgan xolda tavsiflanmagan bo‘lsa, u avtomatik ravishda yaratiladi. Ko‘rsatilmagan xolda parametrsiz konstruktor va nusxa konstruktori yaratiladi. Agarda konstruktor ochiq xolda tavsiflangan bo‘lsa, unda ko‘rsatilmagan xolda konstruktor yaratilmaydi. Ko‘rsatilmagan xolda umumiy (public) konstruktorlar yaratiladi.
Konstruktorni oddiy komponentali funksiya sifatida chaqirib bo‘lmaydi. Konstruktorni ikki xil shaklda chaqirish mumkin :
Birinchi shakl ishlatilganda haqiqiy parametrlar ro‘yxati bo‘sh bo‘lmasligi lozim. Bu shakldan yangi obyekt ta’riflanganda foydalaniladi:
Konstruktorni ikkinchi shaklda chaqirish nomsiz obyekt yaratilishiga olib keladi. Bu nomsiz obyektdan ifodalarda foydalanish mumkin.
Topshiriqlar
Ushbu variantlarda ko’rsatilgan sinf nomi bo’yicha yangi sinf yaratib, uning tarkibida konstruktor, destruktor va sinf nomidan kelib chiqqan holda bir nechta metodlar yaratib ularga murojaat qiling.
Do'stlaringiz bilan baham: |