Polymorphic Class Diagram

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();