Arrays and ArrayLists are polymorphic
We already know that we can put objects into arrays and ArrayList
. But being polymorphic means they can handle objects of multiple distinct types as long as they have a common parent type all within the same array or ArrayList
.
In Chapter 8, Object-Oriented Programming we learned that polymorphism approximately means different forms. But what does it mean to us in the context of arrays and ArrayList
?
Boiled down to its simplest: any subclass can be used as part of the code that uses the superclass.
For example, if we have an array of Animals
we could put any object that is a type that is a subclass of Animal
, in the Animal
array. Perhaps Cats
and Dogs
.
This means we can write code that is simpler and easier to understand, and easier to modify or change.
// This code assumes we have an Animal class // And we have a Cat and Dog class that extends Animal Animal myAnimal = new Animal(); Dog myDog = new Dog(); Cat myCat = new Cat(); Animal [] myAnimals = new...