From my pov, both inheritance and encapsulation aren't great if you have to maintain code and add new one.
Also, I dislike design patterns overuse, DDD done Uncle Bob style.
Also we can think of where OOP drives many teams to:
https://steve-yegge.blogspot.com/2006/03/execution-in-kingdo...
https://factoryfactoryfactory.net/
https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...
This! Everytime I see this project, I laugh out loud. The description reads:
I mean come on, these guys are serious!