In our game app, we have many types of monsters that can attack.
We shall design a superclass called Monster and define the method attack() in the superclass.
The subclasses shall then provides their actual implementation. In the main program, we declare instances of superclass, substituted with actual subclass; and invoke method defined in the superclass.