O`zbekiston Respublikasi Oliy va o`rta maxsus ta`lim vazirligi Urganch davlat universiteti


Asos sinf konstruktoriga qiymat jo’natish


Download 55.65 Kb.
bet8/10
Sana02.01.2022
Hajmi55.65 Kb.
#184652
1   2   3   4   5   6   7   8   9   10
Bog'liq
vorislik haqida qurs ishi misoli qoldi

Asos sinf konstruktoriga qiymat jo’natish

Quyidagi forma orqali asos sinf konstruktoriga parametr orqali qiymat jo’natishimiz mumkin:

voris-sinf-konstruktori(arg-lar) : asos-sinf1(arg-lar),

asos-sinf2(arg-lar),

// ...

asos-sinfN(arg-lar)

{

// voris sinf konstruktor tanasi

}

Asos sinf konstruktoriga qiymat jo’natish

class base {

protected: int i;

public:


base(int x) { i=x; }

};

class derived: public base {



int j;

public:


derived(int x, int y): base(y) // Asos sinf konstruktorini chaqirish

{ j=x; }

void show() { cout << i << " " << j << "\n"; }

};

derived ob(3, 4);



ob.show(); // natija 4 3

3. Polimarfizm
Polimorfizm - bu operatsiyani (usulni) chaqiruvchi bunday farqlar haqida hech narsa bilmasdan, ma'lum bir sinf (yoki ma'lumotlar turini) amalga oshirilishiga qarab, operatsiya (usul) boshqacha bajarilishi mumkin bo'lgan ob'ektga yo'naltirilgan dasturlashda ishlatiladigan atama.
Bunga tayanch sinfdagi usullarni (operatsiyalarni) tavsiflash va meros bo'lib o'tgan sinflarda tegishli usullarni qayta yozish orqali erishiladi. Irsiy sinfda (bir xil nom bilan) qayta yozish mumkin bo'lgan usullar virtual deb nomlanadi. Virtual usullarga ega bo'lgan ob'ekt ma'lumotlar tarkibida o'z sinfiga yoki virtual usullar jadvaliga havola mavjud. Shunday qilib, virtual usullar to'plami ob'ektning o'zi ma'lumotlar tuzilishi bilan bog'liq bo'lib, ob'ektni manipulyatsiya qiladigan kod uchun qanday aniq ob'ekt uslubi kodi bajarilishini bilish shart emas.
Misollar

Ota-onalar "shakli" mumkin, ulardan "uchburchak", "kvadrat" va boshqalar sinflari olinadi. Ota-onalar ekranda shakl chizish usuliga ega bo'lishi mumkin. Keyin, aytaylik, "shakl" turidagi massiv bo'lishi mumkin, uning a'zolari turli geometrik shakllardir. Massiv a'zolarini tsiklda qayta tanlab, barchani rasm chizish uslubiga taklif qilish orqali barcha shakllar ekranda to'g'ri ko'rsatiladi.

Bitta ob'ekt (kalit) qiymati boshqa ob'ektning ma'lum qiymatiga mos keladigan lug'at turli xil usullar bilan (hash jadvali, daraxt, to'g'ridan-to'g'ri qayta tanlash va boshqalar) yaratilishi mumkin. Barcha lug'at dasturlash variantlari bir xil eng muhim usullarga ega (berilgan kalitga mos keladigan saqlangan qiymatni topish, tugmachaning yangi juftligini va unga mos keladigan qiymatni yodlash va hk). Polimorfizmdan foydalanib, so'zning turli xil variantlarini odatiy so'z birikmalariga xos mavhum ota-onalar sinfidan olish mumkin. Ota-onalar sinfida bunday usullarda hech qanday kod bo'lmasligi mumkin. Undan olingan darslar so'z boyligini bajarish uchun zarur bo'lgan harakatlarni bajaradi. Shu tarzda yozilgan dasturda turli xil lug'at dasturlarining ma'lum bir dasturga muvofiqligini tekshirish orqali tajriba o'tkazish qiyin emas, chunki bir lug'at dasturlash versiyasini boshqasiga o'zgartirish, undan foydalanadigan kod hech qanday o'zgarishlarni talab qilmaydi.

Ekrandagi tugmani bosish dasturga xos harakatlarni talab qiladi. Bunga bir necha usul bilan erishish mumkin, ulardan biri tugma ob'ektining an'anaviy usulini "bosilgan" deb nomlashdir. Keyinchalik foydalanuvchi dasturi o'z tugmachalari sinflarini yaratishi mumkin, bu usul kerakli harakatlarni bajaradigan kod bilan almashtiriladi. Bunday foydalanuvchi tugmachalari ota-sinfdan juda ko'p kodlarni (tugmachalarni xaritalash, sichqoncha va klaviatura bilan javob berish va h.k.) egallaydi va ularni yaratishni nisbatan osonlashtiradi.




Download 55.65 Kb.

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




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