Встречается на собеседованиях • сегодня
Что такое принцип открытости-закрытости
Принцип открытости-закрытости (Open/Closed Principle, OCP) — один из принципов SOLID. Суть: сущности (классы, модули) должны быть открыты для расширения, но закрыты для модификации.
Пример нарушения OCP:
typescript
class Rectangle {
width: number;
height: number;
}
class AreaCalculator {
calculate(shape: Rectangle): number {
return shape.width * shape.height;
}
}
text
При добавлении круга (`Circle`) придется изменять `AreaCalculator`.
**Пример с OCP:**
```typescript
interface Shape {
area(): number;
}
class Rectangle implements Shape {
area() { return this.width * this.height; }
}
class Circle implements Shape {
area() { return Math.PI * this.radius ** 2; }
}
class AreaCalculator {
calculate(shape: Shape): number {
return shape.area();
}
}Теперь можно добавлять новые фигуры, не меняя AreaCalculator.
Вывод: OCP уменьшает риск ошибок и упрощает поддержку кода.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы