|
using System;
class Tayanch
{
// Tayanch sinfda virtual metod yaratish
public
|
bet | 4/11 | Sana | 17.05.2024 | Hajmi | 114,28 Kb. | | #239885 |
Bog'liq KURS IWIusing System;
class Tayanch
{
// Tayanch sinfda virtual metod yaratish
public virtual void Funksiya()
{
Console.WriteLine("Tayanch sinfidagi Funksiya() metodi");
}
}
class Voris1 : Tayanch
{
// Voris sinfda Funksiya() metodini bekor qilish
public override void Funksiya()
{
Console.WriteLine("Voris1 sinfidagi Funksiya() metodi");
}
}
class Voris2 : Tayanch
{
// Voris2 voris sinfda Funksiya() metodini qayta belgilash
public override void Funksiya()
{
// Bu sinfda Funksiya() metodi bekor qilinmaydi.
}
}
class OverrideDemo
{
static void Main()
{
Tayanch baza = new Tayanch();
Voris1 d1 = new Voris1();
Voris2 d2 = new Voris2();
Tayanch AsosiyRef; // tayanch sinfga havola
AsosiyRef = baza;
AsosiyRef.Funksiya();
AsosiyRef = d1;
AsosiyRef.Funksiya();
AsosiyRef = d2;
AsosiyRef.Funksiya(); // Tayanch sinfidan Funksiya() metodi chaqiriladi
Console.ReadKey();
}
}
Dastur natijasi:
Tayanch sinfidagi Funksiya() metodi
Voris1 sinfidagi Funksiya() metodi
Bu misolda Funksiya() metodi Voris2 sinfida bekor qilinmagan. Shuning uchun Voris2 sinfining obyekti uchun Tayanch sinfidan Funksiya() metodi chaqiriladi. Agar ko‘p darajali iyerarxiya mavjud bo‘lsa, virtual metod voris sinfda bekor qilinmasa, quyidagi misolda bo‘lgani kabi iyerarxiyaning eng yaqin varianti bajariladi.
using System;
class Tayanch
{
// Tayanch sinfda virtual metod yaratish
public virtual void Funksiya()
{
Console.WriteLine("Tayanch sinfidagi Funksiya() metodi");
}
}
class Voris1 : Tayanch
{
// voris sinfda Funksiya() metodini bekor qilish
|
| |