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