8-ma'ruza. Dasturlash tilida sinflar. Do’stona funksiyalar. Inkapsulyasiya. Meroshorlik. Polimorfizm. Virtual funksiyalar. Amallar va usullarni qayta ishlash va qayta aniqlash Reja



Download 67,17 Kb.
bet1/7
Sana14.07.2022
Hajmi67,17 Kb.
#795298
  1   2   3   4   5   6   7
Bog'liq
8-maruza


8-ma'ruza. Dasturlash tilida sinflar. Do’stona funksiyalar. Inkapsulyasiya. Meroshorlik. Polimorfizm. Virtual funksiyalar . Amallar va usullarni qayta ishlash va qayta aniqlash
Reja

  1. Munosabat turlari, do’stona (friend) funksiyalar

  2. Do’stona (friend) sinflar

  3. Sinflarda vorislik nima?

  4. Sodda vorislik

  5. Vorislikda murojaat huquqlari

  6. Vorislikda konstruktorlar va destruktorlar.

  7. Polimorfizm tushunchasi

  8. Virtual funksiyalar va ularning xususiyatlari

  9. Abstraktsinflar

  10. Virtual asos sinflar


Friend funksiyalar
Class’ning private va protected qismiga class’ga tegishli bo’lmagan friend funksiya murojat qilishi mumkin. Friend funksiyalar klasning ichida friend kalit so’zi bilan yoziladi.
E’lon qilinishi:
class myclass {
…..
friend int sum(myclass x);
….
};

Albatta friend funksiyalar sinfdan tashqarida mavjud bo’ladi va ushbu do’stona funksiya sinfning barcha sohalariga murojaat qila olishi mumkin.


class sm{
int a, b;
public:
friend int sum(myclass x);
void set_ab(int i, int j) { a = I; b = j; }
};
int sum(myclass x) {
return x.a + x.b; //sum() hech qaysi classga tegishli emas.
}
int main() {
myclass n;
n.set_ab(3, 4);
cout << sum(n);
return 0;
}


Do’stona (friend) sinflar
Bir class boshqa bir class’ga do’stona bo’lishi mumkin. Bunda sinflar bir – birining a’zolaridan foydalanish imkoniyatiga ega bo’ladi. Bunda shu narsaga e’tibor berish lozimki, biror sinfga do’stona bo’ladigan sinf (ya’ni friend kalit so’zi orqali e’lon qilinadigan sinf), mazkur sinfning a’zolaridan foydalanish imkoniyatini yaratadi
E’lon qilinishi:
class myclass {
…..
friend someclass b;
….
};
Do’stona sinfdan foydalanish uchun quyida misol keltirilgan. Bunda e’tibor berishimiz lozimki, TwoValues sinfi Min sinfiga do’stona bo’lib, bunda Min sinfi TwoValues sinfining a’zolaridan foydalanishi mumkin.
class TwoValues {
int a, b;
public:
TwoValues(int i, int j) { a = i; b = j; }
friend class Min;
};
class Min {
public:
int min(TwoValues x) { return x.a < x.b ? x.a : x.b; }
};
int main() {
TwoValues ob(10, 20);
Min m;
cout << m.min(ob);
return 0;
}

Vorislik – bu OYD ning asosiy ustunlaridan biridir. Vorislik sinflarda ierarxik ko’rinishdagi sinflanishni ta’minlaydi. C++ terminologiyasida:

    • Asos sinf (ya’ni voris olinadigan sinf ) base class (asos sinf) deb ataladi.

    • Voris sinf (ya’ni voris olish orqali yaratiladigan yangi sinf) derived class (voris sinf) deb ataladi.

Voris sinf boshqa bironta sinf uchun asos sinf bo’lishi mumkin.Demak bu orqali, ko’p sathli vorislik (multiple inheritance) vujudga keladi.

Download 67,17 Kb.

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




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