Sobes.tech
Назад к вопросам
Senior
21

Объясните полиморфизм

Компании, где спрашивали
Галактика

Ответ от нейросети

sobes.tech AI

Полиморфизм — это принцип объектно-ориентированного программирования, позволяющий объектам разных классов иметь одинаковый интерфейс, но разную реализацию методов. Это обеспечивает гибкость и расширяемость кода.

Например, у вас есть базовый класс Животное с методом издатьЗвук(). Классы-наследники Собака и Кошка реализуют этот метод по-своему:

class Animal {
    void makeSound() {
        System.out.println("Звук животного");
    }
}

class Dog extends Animal {
    void makeSound() {
        System.out.println("Гав-гав");
    }
}

class Cat extends Animal {
    void makeSound() {
        System.out.println("Мяу");
    }
}

// Использование
Animal animal = new Dog();
animal.makeSound(); // Выведет: Гав-гав

animal = new Cat();
animal.makeSound(); // Выведет: Мяу

Таким образом, один и тот же вызов метода makeSound() ведет себя по-разному в зависимости от типа объекта, на который ссылается переменная.