Sobes.tech
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). Това е полиморфизм — една интерфейс, много реализации.