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

Приведи пример использования Open-Closed Principle

**Пример с интерфейсом и классами:** ```java interface Shape { double area(); } class Circle implements Shape { private double radius; public Circle(double radius) { this.radius = radius; } @Override public double area() { return Math.PI * radius * radius; } } class Rectangle implements Shape { private double width; private double height; public Rectangle(double width, double height) { this.width = width; this.height = height; } @Override public double area() { return width * height; } } class AreaCalculator { public double calculateTotalArea(List shapes) { return shapes.stream().mapToDouble(Shape::area).sum(); } } ``` **Суть:** - Классы `Circle` и `Rectangle` закрыты для модификации (не меняют свою логику), но открыты для расширения (можно добавить новый класс `Triangle`, реализующий `Shape`). - `AreaCalculator` работает с абстракцией (`Shape`), а не конкретными классами, что позволяет добавлять новые фигуры без изменения его кода.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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