#683 – Two Ways an Object Can Behave Polymorphically
October 2, 2012 Leave a comment
There are a couple of different ways that an object can behave polymorphically. Here are two examples.
Polymorphic behavior #1 – access instance of subclass using reference to base class.
public class Dog { public virtual void Bark() { Console.WriteLine("Dog: Woof"); } } public class Terrier : Dog { public override void Bark() { Console.WriteLine("Terrier: Yip yip"); } }
// Terrier method called through Dog reference Dog d = new Terrier(); d.Bark();
Polymorphic behavior #2 – Base class calls method that is overridden in derived class
// Dog.GuardUs public void GuardUs() { Bark(); }
Terrier t = new Terrier(); t.GuardUs();