public void StartEngine(string noiseToMakeWhenStarting)
Console.WriteLine("Starting engine: {0}", noiseToMakeWhenStarting);
public void StopEngine(string noiseToMakeWhenStopping)
Console.WriteLine("Stopping engine: {0}", noiseToMakeWhenStopping);
public virtual void Drive()
Console.WriteLine("Default implementation of the Drive method");
Console.WriteLine("\nTesting polymorphism");
Airplane myPlane = new Airplane();
public static void Main(string[] args)
public class Airplane : Vehicle
Console.WriteLine("Taking off");
Console.WriteLine("Landing");
Console.WriteLine("Journey by airplane:");
Airplane myPlane = new Airplane();
myPlane.StartEngine("Contact");
myPlane.StopEngine("Whirr");
public override void Drive()
Console.WriteLine("Flying");
public class Car : Vehicle
Console.WriteLine("Accelerating");
Console.WriteLine("Braking");
Console.WriteLine("\nJourney by car:");
myCar.StartEngine("Brm brm");
myCar.StopEngine("Phut phut");
public override void Drive()
Console.WriteLine("Motoring");