C#'da virtual metodlar va xossalar


Download 74.99 Kb.
bet2/3
Sana18.06.2023
Hajmi74.99 Kb.
#1588524
1   2   3
Bog'liq
C#\'da virtual metodlar va xossalar

class Employee : Person
{
public string Company { get; set; }
public Employee(string name, string company)
: base(name)
{
Company = company;
}
public override void Display()
{
Console.WriteLine($"{Name} {Company}da ishlaydi");
}
}
Endi aynan yuqoridagi obyekt olinsa:
static void Main(string[] args)
{
Person p1 = new Person("Bill");
p1.Display(); // Person klassidagi Display metodi chaqirilmoqda
Employee p2 = new Employee("Tom", "Microsoft");
p2.Display(); // Employee klassidagi Display metodi chaqirilmoqda
Console.ReadKey();
}
Konsoldagi natija:
Bill
Tom Microsoftda ishlaydi
Ota klass virtual metodi butun tuzilmani ko'rinishini aniqlaydi. Ya'ni shu ota klassdan to'g'ridan-to'g'ri meros olmasdan hosil qilingan ota klass avlodlarida virtual metodni qayta e'lon qilish mumkin. Masalan, Manager klassini tuzish mumkin, u Employee klassidan meros olishi mumkin. Va unda Display metodi qayta e'lon qilinishi mumkin.
Virtual metodlarni qayta e'lon qilishda bir nechta cheklovlarni hisobga olish kerak:

  • Virtual va qayta e'lon qilingan metodlar bir xil ruxsat modifikatori bilan belgilangan bo'lishi kerak, ya'ni, agar virtual metod public modifikatori bilan e'lon qiligan bo'lsa, avlod klasslarda shu metod public modifikatori bilan qayta e'lon qilinishi kerak;

  • Static metodlarni virual modifikatori bilan e'lon qilish yoki qayta e'lon qilish mumkin emas.

Xossalarni qayta e'lon qilish
Metodlar kabi xossalarni ham qayta e'lon qilish mumkin:
class Credit
{
public virtual decimal Sum { get; set; }
}
class LongCredit : Credit
{
private decimal sum;
public override decimal Sum
{

Download 74.99 Kb.

Do'stlaringiz bilan baham:
1   2   3




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