12-ma’ruza. Sinflarda voris sinf metodlaridan foydalanish Voris olish va protected spetsifikatori


Himoyalangan kirish spetsifikatsiyasidan qachon foydalanish kerak?



Download 23,76 Kb.
bet2/8
Sana23.07.2022
Hajmi23,76 Kb.
#844621
1   2   3   4   5   6   7   8
Bog'liq
12-ma’ruza. Sinflarda voris sinf metodlaridan foydalanish

Himoyalangan kirish spetsifikatsiyasidan qachon foydalanish kerak?

Ajdod sinfning protected a'zolaridan avlod sinfining a'zolari foydalanishi mumkin, ya'ni agar siz keyinchalik protected a'zoda biror narsani o'zgartirsangiz (ma'lumotlar turi, qiymati va boshqalar), u holda ajdodagi kabi o'zgartirishlar kiritishingiz kerak va barcha avlod sinflarida. Shuning uchun, himoyalangan kirish spetsifikatorlaridan foydalanish faqat o'z sinflaringizni meros qilib olganingizda va avlod sinflari soni kichik bo'lganda foydali bo'ladi. Shunday qilib, agar siz ajdodlar sinfini amalga oshirishga o'zgartirishlar kiritsangiz va barcha avlod sinflarini yangilashingiz kerak bo'lsa, unda siz ushbu yangilanishlarni o'zingiz qilishingiz mumkin va bu ko'p vaqt talab qilmaydi (chunki avlod sinflari kam bo'ladi).


A'zolarni private qilish yaxshiroq inkapsulyatsiyani ta'minlaydi va ajdod sinflarini avlod sinflari tufayli yuzaga keladigan o'zgarishlardan izolyatsiya qiladi. Ammo buning narxi public yoki protected qo'shimcha yaratishdir (boshqa obyektlarning sinflar va ularning a'zolari, ya'ni oluvchilar va sozlashchilar bilan o'zaro ta'sir qilish usuli). Bu qo'shimcha ish, agar siz o'z sinflaringiz bilan ishlasangiz (tashqi sinflar sizning sinfingizga taalluqli emas) va avlod sinflari soni kam bo'lsa, bunga loyiq emas.
Meros turlari. A'zolarga kirish. Sinf merosining uch turi mavjud:

1) public;


2) private;
3) protected.

Meros turini aniqlash uchun meros qilib olingan sinf yonida kerakli kalit so'zni ko'rsatish kifoya:


// Ochiq meros olish


class Pub: public Parent
{
};
// yopiq meros olish
class Pri: private Parent
{
};
// Himoyalangan meros olish
class Pro: protected Parent
{
};
class Def: Parent // Jimlik bo'yicha C++ yopiq merosni ta'minlaydi
{
};

Agar siz meros turini o'zingiz belgilamagan bo'lsangiz, C++ da standart meros turi private bo'ladi (xuddi shunday sinf a'zolari uchun, agar boshqacha ko'rsatilmagan bo'lsa).


Bu bizga 9 ta kombinatsiyani beradi: 3 ta kirish spetsifikatsiyasi (public, private va protected) va 3 ta meros turi (public, private va protected).
Xo'sh, ikkalasi o'rtasidagi farq nima? Muxtasar qilib aytganda, meros olishda ajdod a'zosining kirish spetsifikatsiyasi avlod sinfida (meros turiga qarab) o'zgartirilishi mumkin. Boshqacha qilib aytganda, ajdod sinfida public yoki protected a'zolar avlod sinfida private bo'lishi mumkin.

Bu biroz chalkash tuyulishi mumkin, ammo bu unchalik yomon emas. Biz buni hozir aniqlaymiz, ammo undan oldin quyidagi qoidalarni eslang:


Sinf har doim o'zining (meroslanmagan) a'zolariga kirish huquqiga ega.
Sinf a'zosiga kirish uning kirish spetsifikatsiyasiga asoslanadi.
Avlod sinfi ajdod-sinfdagi ushbu a'zolarning kirish spetsifikatsiyasi asosida ajdod-sinfning meros qilib olingan a'zolariga kirish huquqiga ega.

Download 23,76 Kb.

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




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish