Junior — Middle
Can you explain what the open-closed principle in programming implies?
sobes.tech AI
Answer from AI
Open/Closed Principle is one of the key principles of object-oriented programming. It states:
"Software entities (classes, modules, functions) should be open for extension but closed for modification."
This means that the behavior of a system can be extended without changing existing code, reducing the risk of errors and simplifying maintenance.
For example, if you have a base class and want to add new functionality, instead of modifying this class, you create a new class that inherits from the base and adds the desired behavior.
Example in Python:
class Shape:
def area(self):
pass
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
import math
return math.pi * self.radius ** 2
Now you can add new shapes without changing existing code.
Thus, the principle helps create flexible and extendable systems.