Back to questions
Junior — Middle
49
Объясните концепцию полиморфизма и как она реализуется в объектно-ориентированных языках программирования.
Answer from AI
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"
}
}
Таким образом, полиморфизм позволяет писать более гибкий и расширяемый код, где поведение определяется во время выполнения в зависимости от реального типа объекта.