Назад к вопросам
Junior — Middle
56
Каким образом можно эмулировать множественное наследование в объектно-ориентированных языках?
Ответ от нейросети
sobes.tech AI
В Java множественное наследование классов напрямую не поддерживается, но его можно эмулировать с помощью интерфейсов и композиции.
-
Интерфейсы — класс может реализовывать несколько интерфейсов, что позволяет "унаследовать" поведение от нескольких источников.
-
Композиция — класс содержит объекты других классов и делегирует им вызовы методов, таким образом комбинируя функциональность.
Пример с интерфейсами:
interface Flyable {
void fly();
}
interface Swimmable {
void swim();
}
class Duck implements Flyable, Swimmable {
public void fly() {
System.out.println("Утка летит");
}
public void swim() {
System.out.println("Утка плавает");
}
}
Пример с композицией:
class Engine {
void start() { System.out.println("Двигатель запущен"); }
}
class Car {
private Engine engine = new Engine();
void start() {
engine.start();
System.out.println("Машина поехала");
}
}