Встречается на собеседованиях • сегодня

В чем разница между полиморфизмом и абстракцией

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

Пример полиморфизма:

java
interface Animal {
    void makeSound();
}

class Dog implements Animal {
public void makeSound() { System.out.println("Woof!"); }
}

class Cat implements Animal {
public void makeSound() { System.out.println("Meow!"); }
}

// Полиморфный вызов
Animal animal = new Dog();
animal.makeSound(); // Woof!
animal = new Cat();
animal.makeSound(); // Meow!

text

Абстракция:
```java
abstract class Vehicle {
    abstract void move(); // скрыта реализация
}

class Car extends Vehicle {
    void move() { System.out.println("Driving"); } // конкретная реализация
}

Ключевое отличие: полиморфизм - о разном поведении через единый интерфейс, абстракция - о сокрытии деталей реализации.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы