Встречается на собеседованиях • сегодня
Как соблюдается Open-Close Principle на практике
Принцип открытости/закрытости (OCP) соблюдается через проектирование, где сущности открыты для расширения, но закрыты для модификации. Основные подходы:
- Использование интерфейсов и абстрактных классов:
java
interface Shape {
double area();
}
class Circle implements Shape {
private double radius;
// конструктор и реализация area()
}
class Square implements Shape {
private double side;
// конструктор и реализация area()
}
text
2. Применение паттернов:
- Стратегия (через композицию)
- Декоратор (для добавления поведения)
- Фабричный метод (для создания объектов)
3. Зависимость от абстракций, а не реализаций. Новый функционал добавляется через новые классы, а не изменение существующих.
Пример нарушения OCP:
```java
class AreaCalculator {
public double calculate(Object shape) {
if (shape instanceof Circle) {
// расчет для круга
} else if (shape instanceof Square) {
// расчет для квадрата
}
// при добавлении новой фигуры нужно модифицировать этот класс
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы