Cellard
Новичок
Ничего из этого не происходит. Моя функция является внешней по отношению к иерархии классов. Она осуществляет взгляд со стороны. Она обслуживает запросы пользователя, а не какого-то класса из иерархии. Работа классов не зависит от результатов работы этой функции и, тем более, от существования этой функции. Мне кажется, что нарушений нет. Да, я согласен, что поведение этой функции может выглядеть некорректным с точки зрения ООП. Но она не часть системы, она над системой.потому что это противоречит всем принципам ООП.
копание в предках нарушает абстракцию, потому что класс становится зависимый от своей иерархии.
нарушает инкапсуляцию, потому что раскрывается реализация.
нарушает полифоризм, потому что помимо интерфейса становится важна информация о типе и внутренное структуре
.........