наследование нарушает инкапсуляцию - потомки могут менять поведение предка. Получив объект, не можешь быть уверен что он делает именно то что нужно.
Дальше, наследование приводик к высокой связности. Меняешь поведение предка - и все наследники ломаются, поэтому приходиться лепить N+1 наследника. Логика размазывается по всей иерархии. Логика из наследников протекает в предков
>>3441264 (OP) Оно создает проблему и само ее решает. Композицией можно заменить наследование и оно более явное. В некоторих доменах оно все таки предпочтительно, но редко реально нужно - на моем опите в случае 3д проще с ооп потому что подходит под рендер граф. Соответственно и игри туда же, хотя всегда есть вариант ECS (не могу утверждать 100%, не геймдев). лет 10 писал в основном на ооп язиках, ушел на работу с растом и не скучаю за ооп