Java o’zi nima? Oydt java sintaksisi java da tiplar


Download 185.17 Kb.
bet7/8
Sana23.12.2022
Hajmi185.17 Kb.
#1047648
1   2   3   4   5   6   7   8
Bog'liq
2- Ma\'ruza

Virtual funksiya

  • virtual funksiya asos sinf a’zosi hisoblanadi va voris sinfda qayta bir xil parametr asosida e’lon qilinadi.
  • virtual funksiya yaratish uchun, asos sinf ichida funksiya yaratilishi jarayonida virtual kalit so’zidan foydalaniladi.
  • Asos sinfda virtual funksiya e’lon qilingan bo’lsa, voris sinfda ushbu funksiya qayta e’lon qilinishi mumkin va o’z xususiyatlaridan kelib chiqqan holda funksiya tanasi boshqacha yozilishi mumkin.
  • Ushbu qayta e’lon qilingan funksiyaning barcha parametrlari asos sinfdagi funksiya parametrlari bilan bir xil bo’lishi lozim, misol uchun: funksiya qaytarish tipi, argumentlar soni va tipi

Virtual funksiyaning ierarxik xususiyati

  • Asos sinfda virtual funksiya yaratilgan va bu voris sinf uchun override qilinishi mumkin.
  • Agar voris sinfda mazkur virtual funksiya override qilinmagan bo’lsa nima bo’ladi?
  • Bunda voris sinf obyekti virtual funksiyaga murojaat qiladi, ya’ni asos sinf virtual funksiyasiga.
  • Quyida misol keltirilgan:

Misol

class base {

public:

virtual void vfunc() {

cout << "This is base's vfunc().\n";

} };

class derived1 : public base {

public:

void vfunc() {

cout << "This is derived1's vfunc().\n";

}

};

class derived2 : public base {

public:

// vfunc() override qilinmagan

};

davomi…

int main()

{

base *p, b;

derived1 d1;

derived2 d2;

// base sinfga ko’rsatkich

p = &b;

p->vfunc(); // base sinf vfunc() virtual funksiyasi

// derived1 sinfga ko’rsatkich


Download 185.17 Kb.

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




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