Funksiyasi kabi, get funksiyasi


Virtual funksiyalar va dinamik bogʻlanish


Download 446.14 Kb.
bet17/23
Sana09.01.2023
Hajmi446.14 Kb.
#1085802
1   ...   13   14   15   16   17   18   19   20   ...   23
Bog'liq
Dasturlash Yakuniy javoblari (2)

Virtual funksiyalar va dinamik bogʻlanish (virtual, statik bogʻlanish, dinamik nogʻlanish);

Xech bo’lmasa bitta sof (bo’sh) virtual funksiyaga ega bo’lgan sinf abstrakt sinf
deyiladi.Quyidagi tavsifga ega bo’lgan komponentali funksiya sof virtual funksiya
deyiladi:
virtual () = 0;
Abstrakt sinf xosila sinf uchun asosiy (bazaviy) sinf sifatida ishlatilishi mumkin.
Abstrakt sinflarning mexanizmi keyinchalik konkretizatsiyalanadigan umumiy
tushunchalarni tavsiflash uchun ishlab chiqilgan. Bu xolda, sinflar ierarxiyasini
yaratish quyidagi sxema bo’yicha bajariladi.
Ierarxiya asosida abstrakt bazoviy sinf turadi. U interfeysni meros kilib olish
uchun foydalaniladi. Xosila sinflar bu interfeysni konkretizatsiyalaydi va amalga
oshiradi. Abstrakt sinfda sof virtual funksiyalar elon etilgan, ular aslida abstrakt
usullar.
Ba’zi sinflar masalan shape sinfi, abstrakt tushunchalarni ifodalaydi va ular
uchun obyekt yaratib bo’lmaydi. Bunday sinflar biror xoila sinfda ma’noga ega
bzladm:
class shape {
//...
public:
virtual void rotate(int) q =0; //sof virtual funksiya
virtual void draw() = 0; // sof virtual funksiya
};
Abstrakt sinfni faqat boshqa sinf ajdodi sifatida ishlatish mumkin:
class circle : public shape {
int radius;
public:
void rotate(int) { }
//qayta ta’riflash shape::rotate
void draw();
//qayta ta’riflash shape::draw
circle(point p, int r);
};
Agar sof virtual funksiya xosila sinfda to’liq ta’riflanmasa, u xosila sinfda ham
sof virtual bo’lib qoladi, natijada xosila sinf xam abstrakt sinf bo’ladi.
z.Dasturda
ikki asosiy tur ma'lumot strukturalari mavjuddir. Birinchisi statik, ikkinchisi dinamikdir.
Statik deganimizda hotirada egallagan joyi o'zgarmas, dastur boshida beriladigan strukturalarni nazarda tutamiz.
Dinamik ma'lumot tiplari dastur davomida o'z hajmini, egallagan hotirasini o'zgartirishi mumkin.




  1. Download 446.14 Kb.

    Do'stlaringiz bilan baham:
1   ...   13   14   15   16   17   18   19   20   ...   23




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