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



Download 23,76 Kb.
bet6/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

Oxirgi misol.

class Parent


{
public:
int m_public;
private:
int m_private;
protected:
int m_protected;
};

Parent sinf o'z a'zolariga muammosiz kirishi mumkin. m_public ga kirish hamma uchun ochiq. Avlod sinflari m_public va m_protected-ga kirishlari mumkin:


class D2 : private Parent // yopiq meros olish
{

int m_public2;


private:
int m_private2;
protected:
int m_protected2;
};

D2 klassi o'z a'zolariga erkin kirishi mumkin. D2 ajdod-sinfning m_public va m_protected a'zolariga kirishi mumkin, lekin m_privatega emas. D2 ajdod private sinfini meros qilib olganligi sababli, m_public va m_protected endi D2 orqali kirishda privatedir. Bu shuni anglatadiki, boshqa obyektlar D2 obyektidan foydalanish orqali ushbu a'zolarga kira olmaydi va D2 sinfining avlodlari bo'lgan boshqa sinflar bu a'zolarga kira olmaydi:


class D3 : public D2


{
// Umumiy meros deganda:
// - meros qilib olingan jamoat a'zolari bolalar sinfida ochiq qoladi;
// - meros qilib olingan himoyalangan a'zolar bolalar sinfida himoyalangan qoladi;
// - meros qilib olingan shaxsiy a'zolar bolalar sinfida mavjud bo'lmaydi.
public:
int m_public3;
private:
int m_private3;
protected:
int m_protected3;
};

D3 klassi o'z a'zolariga erkin kirishi mumkin. D3 D2 ning m_public2 va m_protected2 a'zolariga kirishi mumkin, lekin m_private2 emas. D3 D2 ni public ko’rinishida meros qilib olganligi sababli, m_public2 va m_protected2 o'zlarining kirish spetsifikatsiyalarini saqlab qoladilar va D3 orqali kirishda public va protected bo'lib qoladilar. D3 m_private sinfi Parentga kirish huquqiga ega emas. Shuningdek, u ajdod-sinfining m_protected yoki m_public-ga kirish huquqiga ega emas, D2 ularni meros qilib olgandan keyin ikkalasi ham private bo'lib qoldi.




Xulosa. Kirish spetsifikatsiyalari, meros turlari va avlod sinflarining o'zaro ta'siri chalkash bo'lishi mumkin. Buni tuzatish uchun keling, yana hamma narsani aniqlab olaylik:
Birinchidan, sinf har doim o'zining meros bo'lmagan a'zolariga kirish huquqiga ega (va do'stona sinflar ham kirish huquqiga ega). Kirish ko'rsatkichlari faqat sinfdan tashqaridagi obyektlar va avlod sinflari ushbu a'zolarga kira olishiga ta'sir qiladi.
Ikkinchidan, agar avlod sinflari ajdod-sinflar a'zolarini meros qilib olsalar, ajdod-sinf a'zolari o'zlarining kirish spesifikaturalarini avlod sinfidagi o'zgartirishlari mumkin. Bu hech qanday tarzda avlod sinflarining lokal (meros bo'lmagan) a'zolariga ta'sir qilmaydi (ular avlod sinfida aniqlanadi va o'z kirish spetsifikatsiyalariga ega). Bu faqat tashqi obyektlar va bizning avlod sinfimizning avlodlari bo'lgan sinflar ajdod-sinfning meros qilib olingan a'zolariga kira olishiga ta'sir qiladi.
Kirish spetsifikatsiyalari va meros turlarining umumiy jadvali:




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