Как бы это нарушило принципы ОО?
Он не нарушает инкапсуляцию: класс все еще полностью контролирует, какие функции получают доступ к своим закрытым членам.
Это также не мешает наследованию или полиморфизму.
Это нарушает принципы ОО только в том случае, если вы являетесь программистом на Java и определяете, что «принципы ОО как» могут быть реализованы в Java »
К счастью, никто за пределами мира Java никогда не использовал такое определение ООП.
Можно сказать, что он нарушает философию Java, что я бы сказал, что это хорошо, потому что философия Java по сути "начинается с сломанной и искаженной версии ООП, и остается там , никогда добавляя к этому или развивая это любым значимым способом ". Это не та философия, которая заслуживает того, чтобы оставаться неизменной.
Но это не нарушает принципов ООП.