Many people never really learned object-oriented programming, but something like functions attached to data with inheritance as the only reuse tool. This thinking leads to tangled multiple inheritance, reams of interlocked classes and objects and code that's no fun to maintain.
It's time to learn the fundamentals of OO. You'll start by relearning what OO is all about, and it's not inheritance. We'll fill your toolbox with tools to promote object flexibility and reuse and you'll see how code can be organized by features, not by inheritance.