Назад к вопросам
Junior — Middle
81
Какой принцип SOLID касается открытости и закрытости программных модулей для изменений?
Ответ от нейросети
sobes.tech AI
Принцип SOLID, который касается открытости и закрытости программных модулей для изменений, называется принципом открытости/закрытости (Open/Closed Principle, OCP). Он гласит, что программные сущности (классы, модули, функции) должны быть открыты для расширения, но закрыты для модификации. Это означает, что поведение модуля можно расширять без изменения его исходного кода, что повышает устойчивость и удобство сопровождения кода.
Пример на C++:
class Shape {
public:
virtual double area() const = 0;
virtual ~Shape() {}
};
class Rectangle : public Shape {
double width, height;
public:
Rectangle(double w, double h) : width(w), height(h) {}
double area() const override { return width * height; }
};
class Circle : public Shape {
double radius;
public:
Circle(double r) : radius(r) {}
double area() const override { return 3.14159 * radius * radius; }
};
// Теперь можно добавлять новые фигуры, не меняя существующий код