Sobes.tech
Junior — Middle

Obyektga yo'naltirilgan dasturlashda polimorfizm tushunchasini tushuntiring va u kodda qanday amalga oshirilishini.

sobes.tech AI

AIdan javob

Obyekt-oriented dasturlashda polimorfizm — bu turli sinflarga mansub obyektlarning bir xil xabarlar (metod chaqiruvlari)ga turlicha javob berish qobiliyatidir. Bu turli obyekt turlari bilan ishlash uchun yagona interfeysdan foydalanishga imkon beradi.

Java-da polimorfizm meros olish va metodlarni qayta yozish orqali amalga oshiriladi. Masalan, asosiy sinf metodni e'lon qiladi, va uning vorislari uni o'z uslubida amalga oshiradilar.

Misol:

class Animal {
    void sound() {
        System.out.println("Bir ovoz");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Hovuch");
    }
}

class Cat extends Animal {
    @Override
    void sound() {
        System.out.println("Miyov");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.sound(); // "Hovuch" chiqaradi
        a2.sound(); // "Miyov" chiqaradi
    }
}

Bu yerda, Animal turidagi o'zgaruvchi turli voris sinf obyektlariga murojaat qilishi mumkin, va sound() metod chaqiruvi obyektning haqiqiy turiga qarab bajariladi — bu polimorfizmdir.