C#'da virtual metodlar va xossalar


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


C#'da virtual metodlar va xossalar

Ko'p hollarda bir klassdan meros olishda bola klass ichida ota klass metod funksiyasini o'zgartirishga to'g'ri keladi. Bu holatda bola klass ota klass metod va xossalarini qayta e'lon qilishi mumkin.
Bola klassda qayta e'lon qilinishi kerak bo'lgan metod va xossalarni ota klassda virtual modifikatori bilan belgilanadi. Bunday metod va xossalar virtual deb aytiladi.
Metodni bola klass ichida qayta e'lon qilish override modifikatori orqali amalga oshiriladi. Bola klassda qayta e'lon qilinayotgan metod ota klassdagi kabi kiruvchi parametrlarga ega bo'lishi shart.
Quyida shunday klassni ko'rish mumkin:
class Person
{
public string Name { get; set; }
public Person(string name)
{
Name = name;
}
public virtual void Display()
{
Console.WriteLine(Name);
}
}
class Employee : Person
{
public string Company { get; set; }
public Employee(string name, string company) : base(name)
{
Company = company;
}
}
Bu kodda Person klassi odamni ifodalaydi. Employee klassi Person klassidan meros oladi va u korxona ishchisini ifodalaydi. Employee klassi ota klassdan meros olgan Name xossasidan tashqari Company xossasiga ham ega.
Display metodini bola klassda qayta e'lon qilish mumkin bo'lishi uchun ota klassda u virtual modifikatori bilan belgilangan. Bunda bola klassda bu metodni qayta e'lon qilish majburiy emas. Deylik, ota klass imkoniyatlari bizga yetarli. Bunda Employee'ning obyektlari Person klassdagi Display metodini qo'llaydi.
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(); // Person klassidagi Display metodi chaqirilmoqda
Console.ReadKey();
}
Konsoldagi natija:
Bill
Tom
Lekin virtual metodni qayta e'lon qilish ham mumkin. Buning uchun bola klassda qayta e'lon qilinishi kerak bo'lgan metod override modifikatori bilan belgilanadi, bunda u ota klassdagi kabi parametrlarga ega bo'lishi zarur:

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