Назад к вопросам
Junior — Middle
56
Объясните концепцию полиморфизма в объектно-ориентированном программировании и как он реализуется в коде
Ответ от нейросети
sobes.tech AI
Полиморфизм в объектно-ориентированном программировании — это способность объектов разных классов реагировать на одинаковые сообщения (вызовы методов) по-разному. Это позволяет использовать единый интерфейс для работы с разными типами объектов.
В Java полиморфизм реализуется через наследование и переопределение методов. Например, базовый класс объявляет метод, а подклассы реализуют его по-своему.
Пример:
class Animal {
void sound() {
System.out.println("Some sound");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Bark");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("Meow");
}
}
public class Main {
public static void main(String[] args) {
Animal a1 = new Dog();
Animal a2 = new Cat();
a1.sound(); // Выведет "Bark"
a2.sound(); // Выведет "Meow"
}
}
Здесь переменная типа Animal может ссылаться на объекты разных подклассов, и вызов метода sound() будет выполняться в зависимости от реального типа объекта — это и есть полиморфизм.