Father, what if we wanted multiple shapes? What if wanted one hundred shapes?
Well, here comes to concept of polymorphism. In one sentence, it is the ability to appear in many forms.
We can create a drawing class where we would store a list of shapes. We can then add a Draw() method to this class. The Draw() method would draw for each shape in the list. Because draw is an abstract method in the shape class, The correct Draw() method from the children classes will be called.
I see. So the draw method takes many forms. It draws different shapes based on the type of shape it is given! Amazing! That also saves us from making a list for every different type of shape. Wow, thanks, Father. Object oriented programming really is a blessing!
Of course, we would need to add a method to add shapes to the list in the drawing class.
Now remember kids, object oriented programming is easy, fun and efficient! Remember those concept the next time you write your program for maximum blessings!