c# da polimorfizm

PPTX 17 sahifa 103,8 KB Bepul yuklash

Sahifa ko'rinishi (5 sahifa)

Pastga aylantiring 👇
1 / 17
теория вероятностей и математическая статистика с# da polimorfizm o'zmu, algoritmlar va dasturlash texnologiyalari kafedrasi dotsenti u.e.adambayev 1 с# da polimorfizm. bu nima? oldingi darslarda obyektga yonaltirilgan dasturlash (oyd)ning inkapsulyatsiya va vorislik tamoyillarini o'rgangan edik, endi oydning yana bir tamoyili bo’lmish polimorfizm bilan tanishamiz. polimorfizm atamasining o'zi "ko'p shakllar" deb tarjima qilinishi mumkin. oddiy so'zlar bilan aytganda, polimorfizm – bu bir xil turdagi harakatlarni turlicha amalga oshirishdir. polimorfizmni qisqacha tushuntirib beradigan klassik ibora - "bitta interfeysni ko'plab amalga oshirish, bajarish, ishga tushirish". hayotdan misollar keltirsak. avtomobillarni ruli bor. ushbu rul avtomobilni chapga, o’ngga, to’g’riga yo’naltiruvchi haydovchi va transport vositasi o'rtasidagi interfeysdir. har xil avtoulovlarda rulning mexanik harakati turlicha bo'lishi mumkin, ammo natija bir xil - rul o'ng tomonga burilsa - moshina o'ng tomonga buriladi va aksincha bo’lishi mumkin. 2 с# da polimorfizm. bu nima? yana bir misol. klaviatura - bu foydalanuvchi va kompyuter o'rtasida kompyuterga ma’lumot kiritish interfeysi hisoblanadi. turli xil …
2 / 17
a qilish) mumkin emas. metodni qayta aniqlash – bu virtual sifatida aniqlangan metodni amalga oshirish(realizarsiyasi)dagi o'zgarish (voris sinfda metod asosiy sinfdagidan boshqacha ishlaydi). 4 с# da polimorfizm. bu nima? dasturlashda sinflar va interfeyslar aynan shu interfeysni ta'minlovchi tizim vazifasini bajarishi mumkin. bu erda sinflar haqida gap boradi. faraz qilaylik sinf e’loni mavjud, unda virtual yoki abstrakt metod e'lon qilingan. ushbu sinfdan yana bir nechta sinflar voris sifatida olinadi va ularning har birida virtual / abstrakt metod turlicha amalga oshiriladi. ma'lumki, ushbu sinflarning ob'ektlari bir xil nomdagi, ammo boshqacha bajarilish metodiga ega. bu polimorfizm. 5 с# da polimorfizm. bu nima? masalan, geometrik shakllar sinfi mavjud va unda shaklni chizadigan draw() metodi e'lon qilingan. uchburchak, to'rtburchak, doira sinflari ushbu sinfdan voris sifatida olingan. ularning har birida rasm chizish metod e’lon qilingan (tabiiyki, har bir shakl uchun chizish har xil bo'lishi aniq). natijada, biz ushbu sinflarning ob'ektlarini yaratishimiz mumkin va ularning barchasida tegishli …
3 / 17
i. va voris sinfdagi metodni qayta aniqlash uchun ushbu metod override modifikatori bilan aniqlanadi. voris sinfdagi qayta aniqlangan metod, bazaviy sinfdagi virtual metod bilan bir xil parametrlarga ega bo'lishi kerak. 7 virtual metodlar va xususiyat(xossa)lar masalan, quyidagi sinflarni ko'rib chiqaylik: 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; } } 8 virtual metodlar va xususiyat(xossa)lar bu erda person sinfi shaxsni anglatadi. employee sinfi person sinfidan voris olingan va korxona xodimini ifodalaydi. ushbu sinf, voris qilib olingan name xususiyatidan tashqari, yana bitta xususiyat ega - company. display metodini qayta aniqlash uchun ushbu metod virtual modifikatori bilan aniqlangan. shuning uchun ushbu metod qayta aniqlanishi ham va qayta aniqlanmasligi ham mumkin. aytaylik, …
4 / 17
} 11 virtual metodlar va xususiyat(xossa)lar yuqorida keltirilgan ob'ektlarni qaraylik: static void main(string[] args) { person p1 = new person("bill"); p1.display(); //person sinfidan display metodini chaqirish employee p2 = new employee("tom", "microsoft"); p2.display();//employee sinfidan display metodini chaqirish console.readkey(); } natija: bill tom microsoft da ishlaydi 12 virtual metodlar va xususiyat(xossa)lar bazaviy sinfning virtual metodlari butun ierarxiyaning interfeysini belgilaydi, ya'ni bazaviy sinfdan to'g'ridan-to'g'ri voris bo'lmagan har qanday sinfda virtual metodlarni qayta aniqlash mumkin. masalan, employee sinfidan voris qilib olingan manager sinfida display metodini qayta aniqlash mumkin. virtual metodlarni qayta aniqlashda, bir qator cheklovlarni hisobga olish zarur: virtual va qayta aniqlangan metodlar bir xil kirish modifikatoriga ega bo'lishi kerak. ya'ni, agar virtual metod public modifikatori bilan aniqlangan bo'lsa, qayta aniqlangan metod ham public modifikatoriga ega bo'lishi kerak. statik metodni qayta aniqlash yoki virtual deb e'lon qilib bo’lmaydi. 13 xususiyat(xossa)larni qayta aniqlash metodlar kabi, xususiyat(xossa)larni ham qayta aniqlash mumkin: class credit { public …
5 / 17
mumkin. bunday holda, ular sealed modifikatori bilan e'lon qilinishi kerak: 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"); } } 16 metodlarni qayta aniqlashni ta’qiqlash sealed modifikatori bilan metodlarni yaratishda, sealed kalit so’zi override kalit so’zi bilan birgalikda ishlatilishini e’tiborga olish kerak, ya'ni faqat qayta aniqlanayotgan metodlarda. va bu holda ham employee sinfidan voris qilib olingan sinfda display metodini qayta aniqlab bo’lmaydi. 17 /docprops/thumbnail.jpeg

Ko'proq o'qimoqchimisiz?

Barcha 17 sahifani Telegram orqali bepul yuklab oling.

To'liq faylni yuklab olish

"c# da polimorfizm" haqida

теория вероятностей и математическая статистика с# da polimorfizm o'zmu, algoritmlar va dasturlash texnologiyalari kafedrasi dotsenti u.e.adambayev 1 с# da polimorfizm. bu nima? oldingi darslarda obyektga yonaltirilgan dasturlash (oyd)ning inkapsulyatsiya va vorislik tamoyillarini o'rgangan edik, endi oydning yana bir tamoyili bo’lmish polimorfizm bilan tanishamiz. polimorfizm atamasining o'zi "ko'p shakllar" deb tarjima qilinishi mumkin. oddiy so'zlar bilan aytganda, polimorfizm – bu bir xil turdagi harakatlarni turlicha amalga oshirishdir. polimorfizmni qisqacha tushuntirib beradigan klassik ibora - "bitta interfeysni ko'plab amalga oshirish, bajarish, ishga tushirish". hayotdan misollar keltirsak. avtomobillarni ruli bor. ushbu rul avtomobilni chapga, o’ngga, to’g’riga yo’naltiruvchi ha...

Bu fayl PPTX formatida 17 sahifadan iborat (103,8 KB). "c# da polimorfizm"ni yuklab olish uchun chap tomondagi Telegram tugmasini bosing.

Teglar: c# da polimorfizm PPTX 17 sahifa Bepul yuklash Telegram