Object-oriented design
Before we start writing code, let's create a very basic diagram that shows how we would design the Animal class hierarchy. In this diagram, we will simply show the classes without much detail. This diagram will help us picture the class hierarchy in our minds. Figure 10.1 shows the class hierarchy for the object-oriented design:
Figure 10.1: Animal class hierarchy
Figure 10.1 shows that we have one superclass named Animal, and two subclasses named Alligator
and Lion
. We may think with the three categories (land, air, and sea) that we would want to create a larger class hierarchy where the middle layer would contain the classes for the land, air, and sea animals. This would allow us to separate the code for each animal category; however, that is not possible with our requirements. The reason this is not possible is that any of the animal types can be members of multiple categories, and with a class hierarchy, each class can have one and only...