Sobes.tech
Junior — Middle

Објасните концепт полиморфизма у објектно-оријентисаном програмирању и како се реализује у коду.

sobes.tech АИ

Одговор од АИ

Полиморфизам у објектно-оријентисаном програмирању је способност објеката различитих класа да реагују на исте поруке (позиви метода) различито. Ово омогућава коришћење једноставног интерфејса за рад са различитим типовима објеката.

У Јави, полиморфизам се реализује преко наслеђивања и преоптерећења метода. На пример, основна класа декларативно дефинише методу, а подкласе је реализују на свој начин.

Пример:

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() ће се извршити у зависности од стварног типа објекта — то је полиморфизам.