public virtual void Shoot()
Console.WriteLine("Gun Shoot called.");
public class GunAuto : Gun
public override void Shoot()
Console.WriteLine("GunAuto Shoot called.");
public class GunBurst : GunAuto
public override void Shoot()
Console.WriteLine("GunBurst Shoot called.");
public static void Main()
var burst = new GunBurst();