Matematika va kompyuter ilmlari fakulteti amaliy matimatika kafedrasi dasturlash asoslari fanidan




Download 114,28 Kb.
bet5/11
Sana17.05.2024
Hajmi114,28 Kb.
#239885
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
KURS IWI

public override void Funksiya()
{
Console.WriteLine("Voris1 sinfidagi Funksiya() metodi");
}
}
class Voris2 : Voris1
{
// Bu sinfda Funksiya() metodi bekor qilinmaydi
}
class Voris3 : Voris2
{
// Bu sinfda Funksiya() metodi bekor qilinmaydi
}
class NoOverrideDemo2
{
static void Main()
{
Voris3 d = new Voris3();
Tayanch AsosiyRef; // Tayanch sinfiga havola
AsosiyRef = d;
AsosiyRef.Funksiya(); // Voris1 sinfidan Funksiya() metodini chaqirish
Console.ReadKey();
}
}
Dastur natijasi
Voris1 sinfidagi Funksiya() metodi
Ushbu misolda Voris3 sinfi Voris2 sinfini, Voris2 sinfi esa Voris1 sinfini, Voris1 sinfi navbatida Tayanch sinfni voris qilib oladi. Yuqoridagi natijadan ko‘rinib turibdiki, Voris1 da bekor qilingan Funksiya() metodi bajariladi, chunki u Voris3 va Voris2 iyerarxiyasidan Funksiya() metodi bekor qilinmagan Voris1 ga o‘tishda aniqlangan birinchi virtual metoddir.

1.2 . Yangi a’zolar bilan tayanch sinf a’zolarini yashirish


Agar voris sinfda tayanch sinf a’zosi bilan bir xil nomdagi a’zo bo‘lishi kerak bo‘lsa, new kalit so‘z bilan tayanch sinf a’zosini yashirish mumkin.
Quyidagi dastur kodi misol sifatida keltiradi:
public class TayanchClass
{
public void Metod()
{
WorkField++;
}
public int WorkField;
public int WorkProperty
{
get { return 0; }
}
}
public class VorisClass : TayanchClass
{
public new void Metod() { WorkField++; }
public new int WorkField;
public new int WorkProperty
{
get { return 0; }
}
} Eslatma: Virtual a’zolar ushbu dasturning tayanch sinfini chaqirish uchun foydalanishi tavsiya etiladi.
Polimorfizm statik yoki dinamik bo‘lishi mumkin. Statik polimorfizmda metodga javob kompilyatsiya vaqtida aniqlanadi. Dinamik polimorfizmda u ish vaqtida hal qilinadi.



Download 114,28 Kb.
1   2   3   4   5   6   7   8   9   10   11




Download 114,28 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Matematika va kompyuter ilmlari fakulteti amaliy matimatika kafedrasi dasturlash asoslari fanidan

Download 114,28 Kb.