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