Sobes.tech
Назад к вопросам
Junior — Middle
121

Какое значение имеет использование полиморфизма в объектно-ориентированном программировании?

Ответ от нейросети

sobes.tech AI

Полиморфизм в объектно-ориентированном программировании позволяет объектам разных классов реагировать на одинаковые сообщения (вызовы методов) по-разному. Это повышает гибкость и расширяемость кода.

Пример: есть базовый класс Животное с методом издатьЗвук(). Классы-наследники Собака и Кошка реализуют этот метод по-своему — собака лает, кошка мяукает.

Это позволяет писать код, который работает с объектами типа Животное, не заботясь о конкретном классе:

class Animal {
    void makeSound() {
        System.out.println("Some sound");
    }
}

class Dog extends Animal {
    @Override
    void makeSound() {
        System.out.println("Bark");
    }
}

class Cat extends Animal {
    @Override
    void makeSound() {
        System.out.println("Meow");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal a1 = new Dog();
        Animal a2 = new Cat();
        a1.makeSound(); // Выведет Bark
        a2.makeSound(); // Выведет Meow
    }
}

Таким образом, полиморфизм упрощает поддержку и расширение программ, позволяя использовать единый интерфейс для разных реализаций.