C#'da virtual metodlar va xossalar
Download 74.99 Kb.
|
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling