Junior — Middle
Как се постига механизмът на полиморфизма в Java и как да го реализираме в кода?
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 myDog = new Dog();
Animal myCat = new Cat();
myDog.sound(); // Ще изведе: Лаене
myCat.sound(); // Ще изведе: Мяу
}
}
Тук, методът sound() се извиква върху обекти от тип Animal, но в реалност се изпълнява реализацията, съответстваща на реалния клас на обекта (Dog или Cat). Това е полиморфизм — една интерфейс, много реализации.