Классы должны быть открыты для расширения, но закрыты для изменения.
Изменение текущего поведения класса повлияет на все системы, использующие этот класс.Если вы хотите, чтобы Класс выполнял больше функций, то идеальным подходом является добавление нового функционала к уже существующим функциям НЕ изменять существующие.
Этот принцип направлен на расширение поведения Класса без изменения существующего поведения этого Класса. Это сделано для того, чтобы избежать возникновения ошибок везде, где используется данный класс.