Sobes.tech
Junior — Middle

Объектке багытталган программалоодо полиморфизм түшүнүгүн түшүндүрүп, ал коддо кантип ишке ашырылат.

sobes.tech AI

AIден жооп

Объект-ориентирленген программалоодо көптүрлүүлүк — бул ар башка класстардын объекттери бирдей билдирүүлөргө (метод чакырууларга) ар башкача жооп кайтаруу жөндөмдүүлүгү. Бул ар кандай объект түрлөрү менен иштөө үчүн бирдиктүү интерфейсти колдонууга мүмкүндүк берет.

Javaда көптүрлүүлүк мурас алуу жана методдорду кайра аныктоо аркылуу ишке ашырылат. Мисалы, негизги класс методду жарыялайт, ал эми подкласстар аны өзүнүн жолунда ишке ашырат.

Мисал:

class Animal {
    void sound() {
        System.out.println("Кээ бир үн");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Кулагын жулкуу");
    }
}

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

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.sound(); // "Кулагын жулкуу" чыгат
        a2.sound(); // "Мяу" чыгат
    }
}

Бул жерде, Animal түрүндөгү өзгөрмө ар кандай подкласс объекттерине шилтеме кылышы мүмкүн, жана sound() методу чакырылышы объекттин чындык түрүнө жараша ишке ашат — бул көптүрлүүлүк.