Understanding polymorphism
We can use the same method, that is, a method with the same name and arguments, to cause different things to happen according to the class on which we invoke the method. In object-oriented programming, this feature is known as polymorphism. Polymorphism is the ability of an object to take on many forms, and we will see it in action by working with instances of the previously coded concrete classes.
The following lines create a new instance of the AmericanQuarterHorse
class named american
and use one of its constructors that doesn't require the isPregnant
argument. The code file for the sample is included in the java_9_oop_chapter_07_01
folder, in the example07_01.java
file.
AmericanQuarterHorse american = new AmericanQuarterHorse( 8, "American", "Equi-Spirit Ball"); american.printBreed();
The following lines show the messages that the different constructors displayed in JShell after we entered the previous code:
VirtualAnimal created. VirtualMammal created...