Dasturlashda polimorfizm nima?
sobes.tech AI
AIdan javob
Polimorfizm — bu turli sinflardan bo'lgan obyektlarning bir xil metod chaqiruviga turli tarzda javob berish qobiliyatidir. Bu meros olish, abstrakt sinflar va interfeyslar yordamida amalga oshiriladi. C# da polimorfizm asosiy sinf metodlarini voris sinflarda qayta yozish (overriding) va metodlarni ortiqcha yuklash (overloading) orqali namoyon bo'ladi.
Polimorfizm misollari:
-
Metodlarni qayta yozish (Runtime Polimorfizm): Voris sinf, asosiy sinfda e'lon qilingan metodning o'zining amalga oshirishini taqdim etadi. Buning uchun, asosiy sinfda
virtualkalit so'zi ishlatiladi, voris sinfda esaoverride.// Asosiy sinf class Shape { // Qayta yozilishi mumkin bo'lgan virtual metod public virtual void Draw() { // Standart amalga oshirish } } // Voris sinf 1 class Circle : Shape { // Draw metodini qayta yozish public override void Draw() { // Doira uchun amalga oshirish } } // Voris sinf 2 class Square : Shape { // Draw metodini qayta yozish public override void Draw() { // Kvadrat uchun amalga oshirish } }Bu holda,
Shapeobyektlar ro'yxatini yaratish va har biri uchunDrawmetodini chaqirish mumkin, va har bir figura turi uchun aniq amalga oshirish chaqiriladi. -
Metodlarni ortiqcha yuklash (Compile-time Polimorfizm): Bir xil nomli, lekin imzosi (parametrlar soni yoki turlari) turli bo'lgan bir nechta metodlar.
class Calculator { // Ortib yozilgan Add metodi (int uchun) public int Add(int x, int y) { return x + y; } // Ortib yozilgan Add metodi (double uchun) public double Add(double x, double y) { return x + y; } }
Polimorfizm, yanada moslashuvchan, kengaytiriladigan va oson texnik xizmat ko'rsatadigan kod yaratishga yordam beradi. Bu, turli tiplardagi obyektlar bilan ishlashga imkon beradigan umumiy kod yozishga imkon beradi.