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

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

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

sobes.tech AI

Полиморфизм в объектно-ориентированном программировании позволяет объектам разных классов обрабатываться через единый интерфейс, при этом каждый объект может реализовывать поведение по-своему. Это обеспечивает гибкость и расширяемость кода.

Роль полиморфизма:

  • Позволяет писать обобщённый код, который работает с базовым типом, а конкретное поведение определяется в подклассах.
  • Упрощает поддержку и расширение системы — новые классы можно добавлять без изменения существующего кода.
  • Способствует реализации принципа открытости/закрытости (Open/Closed Principle).

Пример на Java:

interface Animal {
    void makeSound();
}

class Dog implements Animal {
    public void makeSound() {
        System.out.println("Woof");
    }
}

class Cat implements Animal {
    public void makeSound() {
        System.out.println("Meow");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal = new Dog();
        animal.makeSound(); // Выведет "Woof"

        animal = new Cat();
        animal.makeSound(); // Выведет "Meow"
    }
}

Здесь один и тот же вызов makeSound() ведёт себя по-разному в зависимости от реального типа объекта.