>>106964954
>What would be the way to do this with composition?
in principle: you pass Unit as a parameter to the implementing classes, and drop the class inheritance to them. then you refer to health, mana, etc. through the Unit object
in practice, you'll probably still need an interface for the implementing classes, but at least interfaces are nothing more than a contract that the implementation has specific methods and nothing more - they aren't as hard coupling as full class inheritance