-
Book Overview & Buying
-
Table Of Contents
SDL Game Development
By :
Inheritance and polymorphism are both very useful and really show off the power of object-oriented programming. However, in some circumstances, inheritance can cause more problems than it solves, and therefore, we should bear in mind a few rules of thumb when deciding whether or not to use it.
Let's say we want to make a more powerful Enemy object; it will have the same behavior a regular Enemy object will have but with more health. One possible solution would be to derive a new class PowerEnemy from Enemy and give it double health. In this solution the new class will seem extremely sparse; it will use the functionality from Enemy but with one different value. An easier solution would be to have a way to set the health of an Enemy class, whether through an accessor or in the constructor. Inheritance isn't needed at all.
When deriving a class, it is...