Класи повинні бути відкриті для розширення, але закриті для модифікації.
Коли ви змінюєте поточне поведінку класу, ці зміни сказываются на всіх системах, що працюють з даними класом. Якщо хочете, щоб клас виконував більше операцій, то ідеальний варіант – не замінювати старі на нові, а додавати нові до вже існуючих.
Призначення
Принцип служить для того, щоб робити поведінку класу більш різноманітним, не вмішуючи в поточні операції, які він виконує. Завдяки цьому ви уникаєте помилок у тих фрагментах коду, де задіяний цей клас.