Junior — Middle
96
Wie implementiert man das Prinzip der Offenheit und Geschlossenheit in der objektorientierten Programmierung?
Unternehmen wurden gefragt
Antwort von AI
sobes.tech KI
Принцип открытости/закрытости (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; }
}
// Теперь, чтобы добавить новую фигуру, например, треугольник, мы создаём новый класс, не меняя существующие.
Таким образом, расширение функционала происходит через добавление новых классов, а не изменение существующих.