Junior — Middle
89
Kuidas rakendada avatus ja suletavus printsiip objektorienteeritud programmeerimises?
Ettevõtted, kust küsiti
Vastus AI-lt
sobes.tech AI
Принцип открытости/закрытости (Open/Closed Principle) в объектно-ориентированном программировании означает, что программные сущности (классы, модули, функции) должны быть открыты для расширения, но закрыты для модификации. Это значит, что поведение системы можно расширять без изменения уже существующего кода.
Реализуется это, например, через использование абстракций и наследования. Вместо изменения существующего класса, создают новый класс, который расширяет функциональность базового.
Пример на Java:
interface Shape {
double area();
}
class Rectangle implements Shape {
private double width, height;
public Rectangle(double w, double h) { width = w; height = h; }
public double area() { return width * height; }
}
class Circle implements Shape {
private double radius;
public Circle(double r) { radius = r; }
public double area() { return Math.PI * radius * radius; }
}
// Теперь, чтобы добавить новую фигуру, например, треугольник, мы создаём новый класс, не меняя существующие.
Таким образом, расширение функционала происходит через добавление новых классов, а не изменение существующих.