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

Что такое O в SOLID

O в SOLID — это Принцип открытости/закрытости (Open/Closed Principle, OCP).

Суть:

"Программные сущности (классы, модули, функции) должны быть открыты для расширения, но закрыты для модификации."

Как это работает:

  • Добавляем новую функциональность через наследование, композицию или интерфейсы, не изменяя существующий код.

Пример:

java
interface Shape {
    double area();
}

class Circle implements Shape {
    private double radius;
    // Конструктор, геттеры...
    @Override
    public double area() { 
        return Math.PI * radius * radius; 
    }
}

class Square implements Shape {
    private double side;
    // Конструктор, геттеры...
    @Override
    public double area() { 
        return side * side; 
    }
}

// Новый класс (расширение без изменения существующего кода)
class Triangle implements Shape {
    private double base, height;
    @Override
    public double area() { 
        return 0.5 * base * height; 
    }
}

Плюсы:

  • Минимизация риска сломать рабочий код.
  • Гибкость архитектуры.

Минусы:

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

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

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

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