Mavhum sinf va meros
Mavhum sinf va Meros - Java kabi ko'plab ob'ektga yo'n altirilgan dasturlash tillarida joylashgan ikkita muhim ob'ektga yo'n altirilgan tushunchalar. Abstrakt sinfni oddiy (konkret) sinfning mavhum versiyasi sifatida ko'rib chiqish mumkin, merosxo'rlik esa yangi sinflarga boshqa sinflarni kengaytirish imkonini beradi. Abstrakt sinf - bu ishga tushirilmaydigan, ammo kengaytirilishi mumkin bo'lgan sinf. Shunday qilib, mavhum sinflar faqat dasturlash tili merosni qo'llab-quvvatlasa, mazmunli bo'ladi. Java-da Abstract sinflar Abstract kalit so'zi yordamida e'lon qilinadi, Extends kalit so'zi esa (super) sinfdan meros olish uchun ishlatiladi.
Mavhum sinf nima?
Odatda, Abstract Base Classes (ABC) sifatida ham tanilgan mavhum sinflarni namuna qilib boʻlmaydi (bu sinfning namunasini yaratib boʻlmaydi). Shunday qilib, mavhum sinflar faqat dasturlash tili merosni qo'llab-quvvatlasa (sinfni kengaytirishdan kichik sinflarni yaratish qobiliyati) mazmunli bo'ladi. Mavhum sinflar odatda qisman yoki umuman amalga oshirilmagan mavhum tushuncha yoki ob'ektni ifodalaydi. Shu sababli, abstrakt sinflar ota-sinflar vazifasini bajaradi, ulardan bolalar sinflari olinadi, shunda bolalar sinf ota-sinfning toʻliq boʻlmagan xususiyatlarini baham koʻradi va ularni bajarish uchun funksiyalar qoʻshilishi mumkin.
Mavhum sinflar abstrakt usullarni oʻz ichiga olishi mumkin. Mavhum sinfni kengaytiruvchi kichik sinflar ushbu (meroslangan) Abstrakt usullarni amalga oshirishi mumkin. Agar bolalar sinfi barcha mavhum usullarni amalga oshirsa, bu aniq sinfdir. Agar shunday bo'lmasa, bolalar sinfi ham Abstrakt sinfga aylanadi. Bularning barchasi shuni anglatadiki, dasturchi sinfni Abstrakt sifatida tayinlaganida, u sinf to'liq bo'lmasligini va unda meros qilib olingan kichik sinflar tomonidan to'ldirilishi kerak bo'lgan elementlar bo'lishini aytadi. Bu ikkita dasturchi o'rtasida shartnoma tuzishning yaxshi usuli bo'lib, u dasturiy ta'minotni ishlab chiqishdagi vazifalarni soddalashtiradi. Meros olish uchun kod yozuvchi dasturchi usul taʼriflariga toʻliq amal qilishi kerak (lekin, albatta, oʻz amaliyotiga ega boʻlishi mumkin).
Meros nima?
Meros - ob'ektga yo'n altirilgan tushuncha bo'lib, yangi sinflarga boshqa sinflarni kengaytirish imkonini beradi. Extends kalit so'zi Java dasturlash tilida meros tushunchasini amalga oshirish uchun ishlatiladi. Meros, asosan, yangi belgilangan sinf tomonidan mavjud sinfning xususiyatlarini va xatti-harakatlarini kengaytirishga ruxsat berish orqali kodni qayta ishlatishni ta'minlaydi. Yangi kichik sinf (yoki olingan sinf) super sinfni (yoki ota-sinfni) kengaytirganda, u kichik sinf super sinfning barcha atributlari va usullarini meros qilib oladi. Subklass ixtiyoriy ravishda ota-sinfdan meros qilib olingan xatti-harakatlarni bekor qilishi mumkin (usullarga yangi yoki kengaytirilgan funksiyalarni taqdim etish). Odatda, kichik sinf bir nechta super sinflarni kengaytira olmaydi (masalan, Java-da). Shuning uchun siz bir nechta meros uchun kengaytmalardan foydalana olmaysiz. Bir nechta merosga ega bo'lish uchun interfeyslardan foydalanishingiz kerak.
Mavhum sinf va meros oʻrtasidagi farq nima?
Mavhum sinflar odatda mavhum tushunchani yoki qisman yoki umuman amalga oshirilmagan ob'ektni ifodalaydi. Meros yangi sinflarga boshqa sinflarni kengaytirish imkonini beradi. Mavhum sinflarni yaratish mumkin emasligi sababli, Abstrakt sinflardan foydalanish uchun meros tushunchasidan foydalanish kerak. Aks holda, Abstract sinfidan hech qanday foyda yo'q. Abstrakt sinflar mavhum usullarni o'z ichiga olishi mumkin va sinf kengaytirilganda barcha usullar (mavhum va aniq) meros qilib olinadi. Meroslangan sinf har qanday yoki barcha usullarni amalga oshirishi mumkin. Agar barcha Abstrakt usullari amalga oshirilmasa, u holda bu sinf ham Abstrakt sinfga aylanadi. Sinf bir nechta Abstrakt sinfdan meros bo'la olmaydi (bu o'z-o'zidan Abstrakt sinflarning sifati emas, balki merosning cheklanishi).
Aloqador postlar:
Mavhum sinf va konkret sinf oʻrtasidagi farq
Virtual va mavhum oʻrtasidagi farq
Mavhum sinf va interfeys oʻrtasidagi farq
Implementlar va kengaytmalar oʻrtasidagi farq
Grafik va daraxt oʻrtasidagi farq
Toʻldirilgan: Dasturlash Belgilangan: ABC, abstrakt, Abstrakt asosiy sinflar, Abstrakt sinf, Abstrakt sinflar, Abstrakt kalit soʻz, Abstrakt usullar, aniq sinf, Kengaytirilgan kalit soʻz, Meros, Meros sinf, meros sinf, Java, koʻp meros., ob'ektga yo'n altirilgan tushunchalar, oddiy sinf, super sinf
Muallif haqida: Indika
Indika, BSc. Eng, MSECE Kompyuter muhandisligi, PhD. Kompyuter fanlari yordamchi professori va bioinformatika, hisoblash biologiyasi va biotibbiy tabiiy tilni qayta ishlash sohalarida ilmiy qiziqishlariga ega.
Izohlar
-
Jeyson deydi
2017-yil 30-avgust, soat 13:25
Farqni tushuntirganingiz uchun tashakkur. Barcha savollarim shu orqali hal qilindi.
Javob berish
-
Aus deydi
2019-yil 10-may, soat 15:04
internetdagi eng yaxshi javob, Ustoz hech narsani tushuntirmaydi va hech qanday ma'noga ega emas, mono ohang mf. Siz tushunchalarni shunday tushuntirasiz.
Javob berish
Javob qoldirish Javobni bekor qilish
Sizning elektron pochta manzilingiz chop etilmaydi. Majburiy maydonlarbilan belgilangan
Izoh
Ism
E-pochta
Veb-sayt
Mazkur postlar
Koronavirus va sovuq alomatlari oʻrtasidagi farq
Koronavirus va SARS oʻrtasidagi farq
Koronavirus va gripp oʻrtasidagi farq
Koronavirus va Covid 19 oʻrtasidagi farq
Sizga yoqishi mumkin
Sibir huski va malamut oʻrtasidagi farq
Hisoblash AB va BC oʻrtasidagi farq
Ikki mutaxassislik va ikkilik diplom oʻrtasidagi farq
Yengil ko'ylaklar va quyuq ko'ylaklar uchun transfer qog'ozi o'rtasidagi farq
o'rtasidagi farq