Polymorphism is one of the fundamentals of software engineering. Polymorphic behavior implies, at runtime, that the same message has different behavioral effects. For this weeks Critical Thinking Assignment, create a polymorphic class diagram of a design of your choosing. Add an aggregation relationship to this diagram. Write a sample pseudocode script to explain the polymorphic class diagram (see example below).
Additionally, in a one-page paper, explain why polymorphism is a runtime characteristic of object-oriented designs. Describe the structural design necessity to ensure polymorphism at runtime.
Simple code example for polymorphism:
//This pseudocode indicates that when the driver object issues a call to moveCar, whichever object has been instantiated (FourWheel or FamilyCar) will move.
Class Driver:
Car myCar;
myCar := new FourWheel;
myCar.moveCar();
myCar := new FamilyCar;
myCar.moveCar();