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