public virtual void WhatAreYou(){Console.WriteLine("I am a Car"); }
abstract class Golf : GermanCar{
public virtual void WhatAreYou() {Console.WriteLine("I am a Golf"); }
class GolfGTI : Golf, SportsCar {
public override void WhatAreYou() {Console.WriteLine("I am a Golf GTI"); }
abstract class Opel : Car, GermanCar {
public override void WhatAreYou(){Console.WriteLine("I am an Opel"); }
class Manta : Opel, SportsCar {
public new void WhatAreYou() {Console.WriteLine("eeh du, echt cool"); }
public static void Main()
Console.WriteLine("Hello World");
Golf car2 = new GolfGTI();
((Opel)car1).WhatAreYou();
((GolfGTI)car2).WhatAreYou();
((Manta)car1).WhatAreYou();
((SportsCar)car1).WhatAreYou();