Mavzu: Abstrakt sinflar, Encapsulation Reja: Abstrakt sinflar


Download 21.49 Kb.
bet5/6
Sana30.01.2023
Hajmi21.49 Kb.
#1142029
1   2   3   4   5   6
Bog'liq
Abstrakt sinflar, Encapsulation

Abstrakt sinf nima? 
Abstrakt sinf - bu bizning dasturimizning abstraktsiyasi bilan shug'ullanadigan sinf. Shunday qilib, mavhumlik nima degan savol tug'iladi ?
Umuman olganda, Abstraktsiya - bu ob'ektga yo'naltirilgan dasturlashning xususiyati faqat muhim ma'lumotlarni " ko'rsatadi " va keraksiz ma'lumotlarni " yashiradi" . Abstraktsiyaning asosiy  maqsadi foydalanuvchilardan keraksiz tafsilotlarni yashirishdir. Abstraktsiya - bu kattaroq  ma'lumot havzasidan foydalanuvchi uchun foydali va dolzarb bo'lgan ma'lumotlarni tanlash. 
Ob'ektga yo'naltirilgan dasturlashda abstraktsiya orqali dasturchi foydalanuvchiga faqat funksionallik taqdim etilishini ta'minlashga harakat qiladi. Murakkablikni kamaytirish va dastur samaradorligini oshirish uchun uning barcha amalga oshirilishi va boshqa begona jihatlar yashirin saqlanadi.

  • Abstrakt kalit so'z yordamida e'lon qilingan sinf Abstract sinf deb nomlanadi. 

  • Abstrakt sinfni instantsiyalash mumkin emas, ya'ni sinfdan ob'ekt (nasol) yaratib bo'lmaydi. 

  • Abstrakt sinfga ham mavhum, ham mavhum bo'lmagan usullarga ruxsat beriladi.

  • Agar sinf mavhum usullarni o'z ichiga olsa, mavhum sinf sifatida e'lon qilinishi kerak.

  • Mavhum sinfdan foydalanish uchun uning bolalar sinfini kengaytirish va ota-sinfdagi barcha mavhum usullarni amalga oshirishni ta'minlash mumkin.

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

Download 21.49 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling