SOLID - O
O - Принцип открытости/закрытости (Open/Closed Principle):
Этот принцип утверждает, что классы должны быть открыты для расширения, но закрыты для модификации. Это означает, что изменение поведения класса должно происходить через добавление нового кода, а не изменение существующего.
// Плохой пример: класс, который нарушает принцип открытости/закрытости
class Shape {
fun area(): Double {
return 0.0
}
}
// Хороший пример: использование наследования для расширения функциональности
open class Shape {
open fun area(): Double {
return 0.0
}
}
class Rectangle : Shape() {
override fun area(): Double {
// Площадь прямоугольника
}
}
class Circle : Shape() {
override fun area(): Double {
// Площадь круга
}
}