G.7 Polymorphism: An Example
Space Objects in a Video Game
Suppose we design a video game that manipulates objects of classes Martian
, Venusian
, Plutonian
, SpaceShip
and LaserBeam
. Imagine that each class inherits from the superclass SpaceObject
, which contains method draw
. Each subclass implements this method. A screen manager maintains a collection (e.g., a SpaceObject
array) of references to objects of the various classes. To refresh the screen, the screen manager periodically sends each object the same message—namely, draw
. However, each object responds its own way, based on its class. For example, a Martian
object might draw itself in red with green eyes and the appropriate number of antennae. A SpaceShip
object might draw itself as a ...
Get Android How to Program, 3/e now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.