Встречается на собеседованиях • сегодня
Как правильно использовать принцип Open-Closed
Принцип Open-Closed (OCP) гласит, что классы должны быть открыты для расширения, но закрыты для модификации. Достигается через:
- Использование абстракций (интерфейсов/абстрактных классов)
- Композицию вместо наследования
- Паттерны типа Strategy, Decorator
Пример плохого кода:
java
class Rectangle {
public double area() { ... }
}
// При добавлении круга приходится менять код
class AreaCalculator {
public double calculate(Object shape) {
if (shape instanceof Rectangle) {
return ((Rectangle)shape).area();
}
// добавление нового if для Circle
}
}Хороший вариант:
java
interface Shape {
double area();
}
class Rectangle implements Shape { ... }
class Circle implements Shape { ... }
class AreaCalculator {
public double calculate(Shape shape) {
return shape.area(); // без изменений при добавлении новых фигур
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы