Abstrakt klasslar Kirish


Abstrakt metod va sinflarni aniqlash



Yüklə 81,81 Kb.
səhifə2/5
tarix16.12.2023
ölçüsü81,81 Kb.
#181146
1   2   3   4   5
Abstraks klasslar

1.Abstrakt metod va sinflarni aniqlash
Sinflar Ba'zan sinf mantiqiy ravishda sinfga tegishli bo'lgan metodni belgilashi kerak, ammo bu sinf usulni qanday amalga oshirishni aniqlay olmaydi. Masalan, Shape klassi 2 o'lchovli shakllar (masalan, doiralar, to'rtburchaklar va boshqalar) uchun yuqori sinf sifatida ishlatiladi. Mantiqan, har bir shaklda getArea usuli bo'lishi kerak, chunki har bir shaklning maydoni bor. Biroq, har bir shakl o'z maydonini boshqa formuladan foydalanib hisoblaydi va Shape sinfida uning barcha mumkin bo'lgan kichik sinflari uchun to'g'ri bo'lgan bitta getArea usulini belgilashning hech qanday usuli yo'q.
Ilovada biz Shakl massivini e'lon qilishni, uni haqiqiy shakllardan tuzilgan ob'ektlarga havolalar bilan to'ldirishni xohlashimiz mumkin (shaklning pastki sinflari) va keyin har bir shakldan o'z maydonini qaytarishni so'rashimiz mumkin. Natijani to'g'ri hisoblash uchun Java har bir ob'ekt uchun to'g'ri getShape usulini chaqirishini xohlaymiz; yana, bu Java bunday muammoni hal qilish uchun polimorfizmni qanday amalga oshirishini ko'rsatadi.
Biz buni Java-da Shape sinfida getArea usulini belgilash orqali, lekin kirish modifikatorlari ro'yxatida mavhum kalit so'zni ko'rsatish orqali (sintaksis cheklovi sifatida bu kalit so'z faqat sinflar va usullarni belgilashda ishlatilishi mumkin) va keyin amalga oshirilmasligini belgilab qo'yish orqali amalga oshiramiz ( interfeysdagi kabi usul tanasi yo'q). Biz uni Shape sinfida quyidagicha belgilaymiz.
Umuman olganda, mavhum sinflar barcha standart sinf komponentlarini belgilashi mumkin: konstruktorlar, usullar va misol o'zgaruvchilari. Shunga qaramay, sinf abstrakt kalit so'zi bilan aniqlanishi kerak (yuqoridagi holat), agar uning usullaridan birortasi abstrakt kalit so'zi bilan aniqlangan bo'lsa (yuqoridagi holat). Mavhum usulni sinfda belgilangan boshqa usullarda, hatto uning tanasi hali aniqlanmagan bo'lsa ham chaqirishimiz mumkinligini unutmang.
Shunga qaramay, mantiqan bu usul sinfga tegishli, hatto u erda yozilmasa ham (chunki Shape ierarxiyada juda yuqori).
Abstraktsiya obyektga yo'naltirilgan dasturlash (OOP) tillarining asosiy tushunchalaridan biridir. Uning asosiy maqsadi foydalanuvchidan keraksiz ma'lumotlarni yashirish orqali murakkablikni boshqarishdir. Bu foydalanuvchiga barcha yashirin murakkablikni tushunmasdan, undan foydalanishga imkon yaratadi.
Abstraktsiya faqatgina dasturlashga taaluqli bo'lgan tushuncha emas, uni real hayotimizda ham ko'p javhalarda kuzatishimiz mumkin. Keling bo'lmasa, abstraktsiya tushunchasini, kundalik hayotimizda uchrab turadigan bankomatlardan pul yechish mavzusiga bog'lab ko'ramiz.
Abstraktsiya tushunchasi asosan sinf va metodlar uchun foydalaniladi va abstract kalit so'zi yordamida quriladi.

Yüklə 81,81 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin