as only have ever done OO coding i must admit i refuse to believe there isnt a way to do this with OO methodology
Printable View
For sure, your right; it's not a case of not being able to.
It's a case of effort vs value vs flexibility vs scaling.
With OO diverging behavioral changes in entities that share a common base will require refactors unless your entire model architecture is flawlessly designed before code start.
When your dealing with entities jacked into networking, rendering, sound and input those refactors become a time sink that can cost weeks instead of hours using the component model.