static void Main(string[] args) { Duck mallardDuck = new MallardDuck(); Duck readheadduck = new ReadheadDuck(); Duck rubberDuck = new RubberDuck(); Duck decoyDuck = new DecoyDuck(); Duck modelDuck = new ModelDuck(); mallardDuck.Display(); mallardDuck.PerformQuack(); mallardDuck.PerformFly(); readheadduck.Display(); readheadduck.PerformQuack(); readheadduck.PerformFly(); rubberDuck.Display(); rubberDuck.PerformQuack(); rubberDuck.PerformFly(); decoyDuck.Display(); decoyDuck.PerformQuack(); decoyDuck.PerformFly(); modelDuck.Display(); modelDuck.PerformFly(); modelDuck.FlyBehavior = new FlyRocketPowered(); modelDuck.PerformFly(); Console.ReadKey(); }
static void Main(string[] args) { Duck mallard = new MallardDuck(); mallard.Display(); mallard.PerformFly(); mallard.PerformQuack(); Duck model = new ModelDuck(); model.Display(); model.PerformFly(); model.PerformQuack(); model.FlyBehavior = new FlyRocketPowered(); model.PerformFly(); Console.ReadKey(); #region 2021-05-10 20:04 //I'm a real Mallard duck. //I'm flying!! //Quack //I'm a model duck. //I can't fly. //Quack //I'm flying with a rocket! #endregion }
static void Main(string[] args) { //List<Duck> ducks = new List<Duck> //{ //new MallardDuck(), //new RedheadDuck(), //new RubberDuck(), //new DecoyDuck() //}; //foreach (var item in ducks) //{ // Console.WriteLine("---------------"); // Console.WriteLine(item.GetType()); // item.Display(); // item.PerFormQuack(); // item.PerFormFly(); //} var md = new ModelDuck(); Console.WriteLine("---------------"); Console.WriteLine(md.GetType()); md.Display(); md.PerFormQuack(); md.PerFormFly(); md.setFlyBehavior(new FlyRocketPowered()); Console.WriteLine("----模型鸭改了设置-----"); md.PerFormFly(); }
static void Main(string[] args) { Console.WriteLine("-> Testing different ducks behaviors."); var mallard = new MallardDuck(); mallard.Display(); mallard.PerformQuack(); mallard.PerformFly(); var redhead = new RedheadDuck(); redhead.Display(); redhead.PerformQuack(); redhead.PerformFly(); var rubber = new RubberDuck(); rubber.Display(); rubber.PerformQuack(); rubber.PerformFly(); var decoy = new DuckDecoy(); decoy.Display(); decoy.PerformQuack(); decoy.PerformFly(); Console.WriteLine(); Console.WriteLine("-> Test runtime behavior change."); var model = new ModelDuck(); model.Display(); model.PerformQuack(); model.PerformFly(); model.FlyBehavior = new FlyRocketPowered(); Console.WriteLine("Fly behavior of ModelDuck was changed and now it's..."); model.PerformFly(); Console.WriteLine(); Console.WriteLine("-> Class not in duck hierarchy using duck behavior."); var soundSynthesizer = new SoundSynthesizer(); soundSynthesizer.DuckSound(); Console.WriteLine(); Console.WriteLine("Press any key to continue. . ."); Console.ReadKey(); }