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

Что значит буква O в SOLID

Буква O в SOLID означает Open-Closed Principle (OCP) — принцип открытости/закрытости.

Суть:

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

Пример на Python:

python
from abc import ABC, abstractmethod

class Shape(ABC):
@abstractmethod
def area(self):
pass

class Rectangle(Shape):
def init(self, width, height):
self.width = width
self.height = height

text
def area(self):
    return self.width * self.height

class Circle(Shape):
def init(self, radius):
self.radius = radius

text
def area(self):
    return 3.14 * self.radius ** 2

Новый класс (расширение без изменения существующего кода)

class Triangle(Shape):
def init(self, base, height):
self.base = base
self.height = height

text
def area(self):
    return 0.5 * self.base * self.height
text
Здесь добавление нового типа фигуры (`Triangle`) не требует изменения кода других классов.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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