Отличие между «open» и «closed» в программировании заключается в принципе открытости для расширения и закрытости для модификации. 14
Класс считается открытым, если его можно расширить, создать подкласс и делать с ним что угодно — добавлять новые методы или поля, переопределять базовое поведение и так далее. 1 Класс считается закрытым, если он на 100% готов к использованию другими классами — его интерфейс чётко определён и не будет изменён в будущем. 1
Основная идея этого принципа — не ломать существующий код при реализации новых функций. 1
При этом класс может быть одновременно открытым (для расширения) и закрытым (для модификации). 1 Например, вместо изменения кода класса напрямую можно создать подкласс и переопределить части исходного класса, которые нужно вести себя по-другому, или расширить функциональность и добавить собственные методы. 1