public static void Main()
Animal bird = new Bird();
dog.SetFlyingAbility(new CannotFly());
bird.SetFlyingAbility(new CanFly());
dog.SetFlyingAbility(new CanFly());
public void SetFlyingAbility(IFly iFly)
public class Bird: Animal
public class CanFly: IFly
Console.WriteLine("I can fly");
public class CannotFly: IFly
Console.WriteLine("I cannot fly");