Raqamli texnologiyalar fakulteti dasturiy injiniring yo’nalishi


protected kirish spetsifikatori



Download 1,57 Mb.
bet31/81
Sana23.06.2022
Hajmi1,57 Mb.
#695199
1   ...   27   28   29   30   31   32   33   34   ...   81
Bog'liq
Dasturiy injiniring Dasturlash 2-4

protected kirish spetsifikatori. Biz allaqachon sinf a'zolariga kim kirishi mumkinligini belgilaydigan private va public kirish spetsifikatorlarini ko'rib chiqdik. Eslatib oʻtamiz, public aʼzolari hamma uchun ochiq, private aʼzolarga faqat private aʼzo bilan bir xil sinf aʼzolari kirishlari mumkin. Bu shuni anglatadiki, avlod sinflari ajdod sinfining shaxsiy a'zolariga bevosita kira olmaydi!

class Parent


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


Izoh: public = “ochiq”, private = “xususiy”, protected = “himoyalangan”

C ++ da biz hali gapirmagan uchinchi kirish spetsifikatsiyasi mavjud, chunki u faqat meros kontekstida foydalidir. protected kirish spetsifikatori sinf a'zolariga do'stona va avlod sinflariga kirish imkonini beradi. Sinf tanasidan tashqarida protected a'zoga kirish yopiq.


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

class Child: public Parent


{
public:
Child()
{
m_public = 1;
m_private = 2; //Bu xato
m_protected = 3;
}
};

int main()


{
Parent parent;
parent.m_public = 1; // Bu mumkin
// parent.m_private = 2; //Bu mumkin emas
parent.m_protected = 3; // Bu mumkin emas
}

Yuqoridagi misolda siz Parent sinfining m_protected a'zosi Child avlod sinfiga to'g'ridan-to'g'ri kirishi mumkinligini, lekin unga tashqi a'zolar kirishi mumkin emasligini ko'rishingiz mumkin.




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.

Download 1,57 Mb.

Do'stlaringiz bilan baham:
1   ...   27   28   29   30   31   32   33   34   ...   81




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