Sobes.tech
Junior — Middle
110

Можете ли да објасните значење слова L у принципима SOLID?

Одговор од АИ

sobes.tech АИ

Буква L в принципах SOLID обозначает Liskov Substitution Principle (Принцип подстановки Барбары Лисков). Этот принцип гласит, что объекты подкласса должны быть взаимозаменяемы с объектами базового класса без нарушения корректности работы программы.

Проще говоря, если класс B наследуется от класса A, то везде, где ожидается объект класса A, можно использовать объект класса B, и программа будет работать правильно.

Это важно для поддерживаемости и расширяемости кода, чтобы не ломать логику при добавлении новых подклассов.

Пример на Java:

class Bird {
    void fly() {
        System.out.println("Птица летит");
    }
}

class Sparrow extends Bird {
    @Override
    void fly() {
        System.out.println("Воробей летит");
    }
}

class Ostrich extends Bird {
    @Override
    void fly() {
        throw new UnsupportedOperationException("Страус не умеет летать");
    }
}

Здесь Ostrich нарушает принцип Liskov, так как не может заменить Bird без изменения поведения (метод fly бросает исключение). Чтобы соблюсти принцип, стоит пересмотреть иерархию классов.