virtual metodlar

DOCX 5 стр. 19,4 КБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 5
c# da virtual metodlar va xossalar ko'p hollarda bir sinfdan meros olishda voris olingan(child) sinf ichida base(ota) sinf metod funksiyasini o'zgartirishga to'g'ri keladi. bu holatda voris olingan(child) sinf base(ota) sinf metod va xossalarini qayta e'lon qilishi mumkin. voris olingan(child) sinfda qayta e'lon qilinishi kerak bo'lgan metod va xossalarni base(ota) sinfda virtual modifikatori bilan belgilanadi. bunday metod va xossalar virtual deb aytiladi. metodni voris olingan(child) sinf ichida qayta e'lon qilish override modifikatori orqali amalga oshiriladi. voris olingan(child) sinfda qayta e'lon qilinayotgan metod base(ota) sinfdagi kabi kiruvchi parametrlarga ega bo'lishi shart. quyida shunday sinfni 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 sinfi odamni …
2 / 5
ishi kerak bo'lgan metod override modifikatori bilan belgilanadi, bunda u base(ota) sinfdagi kabi parametrlarga ega bo'lishi zarur: 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 sinfidagi display metodi chaqirilmoqda employee p2 = new employee("tom", "microsoft"); p2.display(); // employee sinfidagi display metodi chaqirilmoqda console.readkey(); } konsoldagi natija: bill tom microsoftda ishlaydi base(ota) sinf virtual metodi butun tuzilmani ko'rinishini aniqlaydi. ya'ni shu base(ota) sinfdan to'g'ridan-to'g'ri meros olmasdan hosil qilingan base(ota) sinf avlodlarida virtual metodni qayta e'lon qilish mumkin. masalan, manager sinfini tuzish mumkin, u employee sinfidan meros olishi mumkin. va unda display metodi qayta e'lon qilinishi mumkin. virtual metodlarni qayta e'lon qilishda bir nechta cheklovlarni hisobga olish kerak: …
3 / 5
tashqari base kalit so'zi orqali base(ota) sinfning boshqa elementlariga murojaat qilish mumkin. bizning holda base.display(); person sinfdagi display metodi chaqiriladi: class employee : person { public string company { get; set; } public employee(string name, string company) :base(name) { company = company; } public override void display() { base.display(); console.writeline($"{company}da ishlaydi"); } } metodlarni qayta e'lon qilishni taqiqlash ba'zi hollarda qayta e'lon qilishni taqiqlash zarur bo'lishi mumkin. bunda sealed modifikatoridan foydalanish kerak bo'ladi: class employee : person { public string company { get; set; } public employee(string name, string company) : base(name) { company = company; } public override sealed void display() { console.writeline($"{name} {company}da ishlaydi"); } } sealed modifikatori bilan yaratilinadigan metodlarda bir jihat inobatga olish kerak, sealed faqatgina override bilan birga qo'llanilishi mumkin. ya'ni sealed dan faqat qayta e'lon qilinayotgan metodlarda foydalanish mumkin. va bunda employee sinfdan meros olgan sinflarda display metodini qayta e'lon qila olmaymiz.
4 / 5
virtual metodlar - Page 4
5 / 5
virtual metodlar - Page 5

Хотите читать дальше?

Скачайте все 5 страниц бесплатно через Telegram.

Скачать полный файл

О "virtual metodlar"

c# da virtual metodlar va xossalar ko'p hollarda bir sinfdan meros olishda voris olingan(child) sinf ichida base(ota) sinf metod funksiyasini o'zgartirishga to'g'ri keladi. bu holatda voris olingan(child) sinf base(ota) sinf metod va xossalarini qayta e'lon qilishi mumkin. voris olingan(child) sinfda qayta e'lon qilinishi kerak bo'lgan metod va xossalarni base(ota) sinfda virtual modifikatori bilan belgilanadi. bunday metod va xossalar virtual deb aytiladi. metodni voris olingan(child) sinf ichida qayta e'lon qilish override modifikatori orqali amalga oshiriladi. voris olingan(child) sinfda qayta e'lon qilinayotgan metod base(ota) sinfdagi kabi kiruvchi parametrlarga ega bo'lishi shart. quyida shunday sinfni ko'rish mumkin: class person { public string name { get; set; } public person(stri...

Этот файл содержит 5 стр. в формате DOCX (19,4 КБ). Чтобы скачать "virtual metodlar", нажмите кнопку Telegram слева.

Теги: virtual metodlar DOCX 5 стр. Бесплатная загрузка Telegram