static void Main(string[] args) { //真的鸭子嘎嘎叫 木头鸭子吱吱叫 橡皮鸭子唧唧叫 Duck duck = new Duck(); duck.Name = "鸭子"; WoodDuck wd = new WoodDuck(); wd.Name = "木鸭子"; XiangPiDuck xpd = new XiangPiDuck(); xpd.Name = "橡皮鸭子"; Duck[] newDuck = { duck, wd, xpd }; for (int i = 0; i < newDuck.Length; i++) { newDuck[i].Talk(); } Console.ReadKey(); }
static void Main(string[] args) { /*Cada uno de los siguientes patos comparten comportamientos, pero no todos lo * aplican de la misma manera. * * La herencia no es una opción debido a que cada nueva especie de pato agregado * debería sobrescribir su comportamiento y si se quisiera hacer una modificación * en el comportamiento todos deberían ser modificados * o alguien podría modificar el comportamiento de la clase padre y afectar a todos * los demás, * * vamos a la clase Duck en la carpeta Ducks para ver cómo funciona*/ AlabioDuck aliboDuck = new AlabioDuck(); aliboDuck.Display(); Console.WriteLine("presione cualquier tecla para continuar..."); Console.ReadLine(); MallardDuck mallardDuck = new MallardDuck(); mallardDuck.Display(); Console.WriteLine("presione cualquier tecla para continuar..."); Console.ReadLine(); RubberDuck rubberDuck = new RubberDuck(); rubberDuck.Display(); Console.WriteLine("presione cualquier tecla para continuar..."); Console.ReadLine(); WoodDuck woodDuck = new WoodDuck(); woodDuck.Display(); Console.WriteLine("FIN \npresione cualquier tecla para continuar..."); Console.ReadLine(); /*Cada uno de estos patos define su comportamiento, entra a cualquier clase de los patos para verlo*/ }
private static void Main(string[] args) { Console.WriteLine("**** Wood Duck ****"); var woodDuck = new WoodDuck(); woodDuck.ShowInfo(); Console.WriteLine("**** Jet Pack Duck ****"); var robotDuck = new JetPackDuck(); robotDuck.ShowInfo(); Console.WriteLine("**** Default Duck ****"); var defaultDuck = new DefaultDuck(); defaultDuck.ShowInfo(); Console.WriteLine("**** Turkey Before adapter ****"); var turkey = new DefaultTurkey(); turkey.ShowInfo(); turkey.MakeGobble(); Console.WriteLine("**** Turkey After adapter ****"); var turkeyAdapted = new TurkeyAdapter(turkey); turkeyAdapted.ShowInfo(); turkeyAdapted.MakeQuack(); var demonDuckmenu = new DemonDucksMenu(); var hollyDucksMenu = new HollyDucksMenu(); var waitress = new Waitress(demonDuckmenu, hollyDucksMenu); waitress.PrintMenu(); MeatBase grillDuck = new GrillDuck(); grillDuck = new ExtraCheese(grillDuck); grillDuck = new GrillVegetables(grillDuck); Console.WriteLine($"Name:{grillDuck.Name}\n Count:{grillDuck.Price()}"); MeatBase grillTurkey = new GrillTurkey(); grillTurkey = new ExtraCheese(grillTurkey); Console.WriteLine($"Name:{grillTurkey.Name}\n Count:{grillTurkey.Price()}"); Console.WriteLine("**** DUCK FABRIC ****"); var single = Singleton.getInstance(); //Pack duck: choose duck and ducks count single.PackDuck(woodDuck, 13); single.PackDuck(defaultDuck, 6); single.PackDuck(robotDuck, 46); single.PackDuck(turkeyAdapted, 6); single.PackDuck(woodDuck, 14);// exept test }
static void Main(string[] args) { BaseDuck duck = new OrdinaryDuck(); duck.Display(); duck = new WoodDuck(); duck.Display(); duck = new ExoticDuck(); duck.Display(); duck.setFlyBehavior(new DoNotFly()); duck.Display(); Console.Read(); }
public void teste() { MallardDuck patomal = new MallardDuck(); patomal.display(); patomal.grasnar(); patomal.fly(); Console.WriteLine("\n"); RedHeadDuck patover = new RedHeadDuck(); patover.display(); patover.fly(); patover.grasnar(); Console.WriteLine("\n"); RubberDuck patoborra = new RubberDuck(); patoborra.display(); patoborra.grasnar(); patoborra.fly(); Console.WriteLine("\n"); StellDuck patomet = new StellDuck(); patomet.display(); patomet.grasnar(); patomet.fly(); Console.WriteLine("\n"); WoodDuck patomad = new WoodDuck(); patomad.display(); patomad.grasnar(); patomad.fly(); Console.WriteLine("\n"); LetraB b = new LetraB(); b.resposta(); Console.WriteLine("\n"); LetraC c = new LetraC(); c.resposta(); Console.WriteLine("\n"); }
static void Main(string[] args) { // 这种策略模式,必须知道有什么功能,否则出现错误 // 行为都是一样的,虽然行为是组合的,但感觉就不是那么会事 Duck woodduck = new WoodDuck(); woodduck.Display(); //woodduck.FlyBehavior.Fly(); //woodduck.Quackbehavior.Quack(); woodduck.SweepingBehavior.Swimming(); RubberDuck rubberDuck = new RubberDuck(); rubberDuck.Display(); rubberDuck.SweepingBehavior.Swimming(); Console.ReadLine(); }
static void Main(string[] args) { // 接口小练习 // 什么时候用虚方法实现多态? // -> // 什么时候用抽象类来实现多态? // -> // 什么时候用接口来实现多态? // -> // 真的鸭子会游泳, 木头鸭子不会游泳, 橡皮鸭子会游泳 RealDuck realDuck = new RealDuck(); WoodDuck woodDuck = new WoodDuck(); EreaserDuck ereaserDuck = new EreaserDuck(); realDuck.CanSwimMing(); ereaserDuck.CanSwimMing(); Console.ReadKey(); }