Назад к вопросам
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() ведёт себя по-разному в зависимости от реального типа объекта.