Yoʻq, Konstruktorlar umumiy, shaxsiy, himoyalangan yoki standart boʻlishi mumkin (hech qanday ruxsat oʻzgartiruvchisi yoʻq). Biror narsani shaxsiy qilish hech kim unga kira olmaydi degani emas. Bu shunchaki sinfdan tashqari hech kim unga kira olmasligini anglatadi. Shuning uchun shaxsiy konstruktor ham foydalidir.
Yavada konstruktorlar shaxsiy boʻlishi mumkinmi?
Obyekt yaratishni cheklashda Java-dagi xususiy konstruktordan foydalaniladi. Bu faqat statik a'zolar uchun mo'ljallangan sinflarda qo'llaniladigan maxsus misol konstruktoridir. Agar konstruktor shaxsiy deb e'lon qilingan bo'lsa, uning ob'yektlariga faqate'lon qilingan sinf ichidan kirish mumkin. Siz konstruktor sinfidan tashqari uning obyektlariga kira olmaysiz.
Birlamchi konstruktorlar shaxsiymi yoki umumiymi?
C++ da sinf obyekti yaratilganda konstruktor avtomatik ravishda chaqiriladi. Odatiy boʻlib, konstruktorlar sinfningumumiy boʻlimida aniqlanadi.
Nega biz Java-da konstruktorni umumiy a'zo sifatida e'lon qilamiz?
Ommaviy konstruktor u sinfdan tashqarida ham foydalanish mumkinligini bildiradi. Boshqa sinf ham ularni oddiy usulda olishi mumkin lekin agar konstruktorni shaxsiy qilib qoʻysak, unga kirish imkoni boʻlmaydi. sinfdan tashqari. Bundan tashqari, dasturning istalgan joyida sinfni ishga tushirish uchun konstruktorni konstruktorni umumiy qilib qo'yamiz.
Qanday qilib konstruktorimni hammaga ochiq qilishim mumkin?
Mijoz kodingizga paketdan tashqarida ob'ektni yaratishga ruxsat bersangiz, konstruktorni hammaga ochiq qilib qo'ying. Agar qilmasangizbuni xohlaysiz (chunki ob'ekt paketga xosdir yoki ob'ektning o'zi to'g'ridan-to'g'ri namuna qilib bo'lmaydi) package-private foydalaning.