Sobes.tech
Назад к вопросам
Junior — Middle
50

Объясните концепцию полиморфизма и как она реализуется в объектно-ориентированных языках программирования.

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

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"
    }
}

Таким образом, полиморфизм позволяет писать более гибкий и расширяемый код, где поведение определяется во время выполнения в зависимости от реального типа объекта.