Java-da abstrakt sinfni e'lon qilish
Java-da biz sinf deklaratsiyasidan oldin mavhum kalit so'zni qo'shish orqali sinf mavhum ekanligini e'lon qilamiz.
Mana Java abstrakt sinfiga misol:
umumiy mavhum sinf Shaxs {
}
Java'da mavhum sinf shunday e'lon qilinishi kerak.
Endi biz Person sinfining namunasini yaratmoqchi bo'lganimizda va uni kompilyatsiya qilmoqchi bo'lganimizda, Java kompilyatori Abstract sinfini yaratib bo'lmaydi, degan xatolik hosil qiladi.
Person personInstance = new Person(); //yaroqli emas
Abstrakt usullar
Abstrakt usullar faqat mavhum sinflar tomonidan qo'llanilishi uchun mo'ljallangan. Mavhum usullar tanasiz usullardir. Abstrakt sinfda ham mavhum usullar, ham oddiy usullar bo'lishi mumkin.
Usulni abstrakt deb e'lon qilishda biz usul deklaratsiyasi oldiga abstrakt kalit so'z qo'shamiz va usul nuqtali vergul (;) bilan tugaydi .
Mana Java abstrakt usuli misoli:
umumiy mavhum sinf Shaxs {
ommaviy abstrakt void myJob();
}
Mavhum usulning tanasi yoki amalga oshirilishi yo'q. Faqat kichik sinflar tomonidan amalga oshiriladigan usulning imzolari mavjud.
Agar sinfda mavhum usul bo'lsa, butun sinf mavhum sinf sifatida e'lon qilinishi kerak. Abstrakt sinfdagi barcha usullar mavhum usullar bo'lishi shart emas. Abstrakt sinf mavhum va mavhum bo'lmagan usullarning aralashmasiga ega bo'lishi mumkin.
Mavhum sinfning kichik sinflari unga mos keladigan mavhum supersinfning barcha mavhum usullarini amalga oshirishi (bekor qilishi) shart. Superklassning mavhum bo'lmagan usullari xuddi super kalit so'z yordamida meros qilib olinadi. Agar kerak bo'lsa, ular ham bekor qilinishi mumkin.
Mana, "Shaxs" mavhum sinfining "O'qituvchi" kichik sinfiga misol:
umumiy sinf o'qituvchisi kengaytiradi Shaxs {
ommaviy abstrakt bekor myJob(){
System.out.println("Mening ishim - o'qituvchilik");
}}
“O‘qituvchi” kichik sinfi o‘zining “Shaxs” mavhum superklassidan myJob() mavhum usulini qanday amalga oshirishi kerakligiga e’tibor bering.
Agar mavhum sinfning kichik sinfi o'zining yuqori sinfining barcha mavhum usullarini amalga oshirishi shart bo'lmasa, pastki sinf ham mavhum sinf bo'ladi.
Do'stlaringiz bilan baham: |