Abstrakt sinfda konstruktor bo'lishi mumkinmi?
Abstrakt sinfda konstruktor bo'lishi mumkinmi?

Video: Abstrakt sinfda konstruktor bo'lishi mumkinmi?

Video: Abstrakt sinfda konstruktor bo'lishi mumkinmi?
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Aprel
Anonim

Ha, an mavhum sinfga ega bo'lishi mumkin a konstruktor Java tilida. Siz mumkin yoki aniq ta'minlash konstruktor uchun mavhum sinf yoki buni qilmasangiz, kompilyator bo'ladi standart qo'shish konstruktor hech qanday argument yo'q mavhum sinf . Bu hamma uchun to'g'ri sinflar va u ham tegishli mavhum sinf.

Oddiy qilib aytganda, nima uchun mavhum sinfda konstruktor mavjud?

A konstruktor Java-da aslida ob'ektni "qurmaydi", u maydonlarni ishga tushirish uchun ishlatiladi. Tasavvur qiling-a, sizning mavhum sinfga ega x va y maydonlari va oxir-oqibat qanday aniq kichik sinf yaratilishidan qat'i nazar, ularni har doim ma'lum bir tarzda ishga tushirishni xohlaysiz.

Shuni ham bilingki, mavhum sinfda C# konstruktori bo'lishi mumkinmi? Javob: Ha, an mavhum sinfga ega bo'lishi mumkin a konstruktor , Garchi;.. bo'lsa ham mavhum sinf instantsiyalash mumkin emas. An mavhum sinf konstruktori C# kod misoli bo'ladi tushuntiriladi. Masalan, dasturda hosila ob'ektini yaratsak sinf keyin mavhum asos sinf konstruktori bo'ladi ham chaqiriladi.

Keyinchalik, mavhum sinf Java-da parametrlangan konstruktorga ega bo'lishi mumkinmi?

Ha, an mavhum sinfga ega bo'lishi mumkin a parametrlangan konstruktor . Bu bo'ladi keyin kengaytiruvchi kichik sinflar tomonidan ishlatiladi mavhum sinf.

Mavhum sinf konstruktorini qanday chaqirish mumkin?

a.ni belgilashingiz mumkin konstruktor ichida mavhum sinf , lekin siz bu ob'ektni qura olmaysiz. Biroq, beton sub- sinflar mumkin (va kerak) qo'ng'iroq qiling lardan biri konstruktorlar da belgilangan mavhum ota-ona sinf . Siz qila olmaysiz qo'ng'iroq qiling a mavhum sinf konstruktori bilan sinf misol yaratish ifodasi, ya'ni.

Tavsiya: