Sobes.tech
Junior — Middle

Obyektga yo'naltirilgan dasturlashda polimorfizm tushunchasini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Polimorfizm — bu obyektga asoslangan dasturlash tamoyili bo‘lib, u turli sinflarga tegishli obyektlarning bir xil xabarlar (metodlar)ga turlicha javob berishini ta'minlaydi.

Polimorfizmning ikki asosiy turi mavjud:

  1. Kompilyatsiya (statik) — metodlar va operatorlarning ortiqcha yuklanishi.
  2. Ijro (dinamik) — meros olgan sinflarda metodlarning qayta yozilishi.

C# tilida dinamik polimorfizm misoli:

class Animal {
    public virtual void Speak() {
        Console.WriteLine("Animal speaks");
    }
}

class Dog : Animal {
    public override void Speak() {
        Console.WriteLine("Bark");
    }
}

class Cat : Animal {
    public override void Speak() {
        Console.WriteLine("Meow");
    }
}

// Foydalanish
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.Speak(); // "Bark" chiqaradi
myCat.Speak(); // "Meow" chiqaradi

Shu tarzda, Speak() metodiga bir xil chaqiruv, obyekt turiga qarab, turlicha xulq ko‘rsatadi.