public static void Run() { Duck mallardDuck = new MallardDuck(); mallardDuck.PerformQuack(); mallardDuck.PerformFly(); mallardDuck.SetFlyBehavior(new FlyRocketPowered()); mallardDuck.PerformFly(); }
private static void Main() { // Паттерн Стратегия! Duck mallard = new MallardDuck(); // Вызов метода performQuack(), унаследованного классом MallardDuck; // метод делегирует выполнение операции по ссылке на QuackBehavior // (то есть вызывает quack() через унаследованную переменную quackBehavior) mallard.PerformQuack(); // Затем то же самое происходит с методом performFly(), также унаследованным классом MallardDuck mallard.PerformFly(); Duck model = new ModelDuck(); // Первый вызов performFly() передаётся реализации, заданной в конструкторе... // ...ModelDuck - то есть экземпляру FlyNoWay model.PerformFly(); // Утка-приманка вдруг взлетает на рекативном двигателе! model.FlyBehavior = new FlyRocketPowered(); // Способность утки-приманки к полёту переключается динамически! // Если бы реализация находилась в иерархии Duck, такое было бы невозможно model.PerformFly(); Console.Read(); }
static void Main(string[] args) { Duck mallard = new MallardDuck(); mallard.PerformQuack(); mallard.PerformFly(); Duck modelDuck = new ModelDuck(); modelDuck.PerformFly(); modelDuck.FlyBehavior = new FlyRocketPowered(); modelDuck.PerformFly(); }
static void Main(string[] args) { Duck mallardDuck = new MallardDuck(); mallardDuck.PerformQuack(); mallardDuck.PerformFly(); Duck model = new ModelDuck(); model.PerformFly(); model.setFlyBehavior(new FlyRocketPowered()); model.PerformFly(); }
static void Main(string[] args) { Duck duck = new MallardDuck(new FlyWithWings(), new NormalQuack()); Console.WriteLine("Mallard:"); duck.Display(); duck.PerformFly(); duck.PerformQuack(); Console.WriteLine("\nDuck Call:"); DuckCall duckCall = new DuckCall(); duckCall.PerformQuack(); }
static void Main() { Duck mallard = new MallardDuck(); mallard.PerformQuack(); mallard.PerformFly(); Duck model = new ModelDuck(); model.PerformFly(); model.FlyBehavior = new FlyRocketPowered(); model.PerformFly(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); }
static void Main(string[] args) { Duck mallardDuck = new MallardDuck(); mallardDuck.PerformFly(); mallardDuck.PerformQuack(); Console.WriteLine("------------------------------"); Duck modelDuck = new ModelDuck(); modelDuck.PerformFly(); modelDuck.SetFlyBehavior(new FlyWithWings()); modelDuck.PerformFly(); }
static void Main() { Duck duck = new MallardDuck(); duck.Display(); duck.PerformFly(); duck.PerformSwim(); duck = new RubberDuck(); duck.Display(); duck.PerformFly(); duck.PerformSwim(); Console.ReadLine(); }
public static void Main() { Duck mallard = new MallardDuck(); Duck rubberDuckie = new RubberDuck(); Duck decoy = new DecoyDuck(); Duck model = new ModelDuck(); mallard.PerformQuack(); rubberDuckie.PerformQuack(); decoy.PerformQuack(); mallard.PerformFly(); model.PerformFly(); model.SetFlyBehavior(new FlyRocketPowered()); model.PerformFly(); }
static void Main(string[] args) { Duck duck = new MallardDuck(); duck.PerformFly(); duck.PerformQuack(); duck.Display(); duck = new ModelDuck(); duck.Display(); duck.PerformFly(); duck.PerformQuack(); duck.SetFlyBehavior(new FlyWithRockets()); duck.PerformFly(); Console.ReadLine(); }
static void Main(string[] args) { Duck mallard = new MallardDuck(); mallard.Display(); mallard.PerformQuack(); mallard.PerformFly(); Console.WriteLine(""); Duck model = new ModelDuck(); model.Display(); model.PerformFly(); model.FlyBehavior = new FlyRocketPowered(); model.PerformFly(); // Wait for user input Console.ReadKey(); }
public static void Main() { Duck duck1 = new MallardDuck(); Duck duck2 = new ModelDuck(); duck1.Display(); duck1.Swim(); duck1.PerformQuack(); duck1.PerformFly(); Console.WriteLine(); duck2.Display(); duck2.Swim(); duck2.PerformQuack(); duck2.PerformFly(); duck2.FlyBehavior = new FlyRocketPowered(); duck2.PerformFly(); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("*** Strategy ***\n"); Console.WriteLine("=> Mallard Duck"); Duck mallard = new MallardDuck(); mallard.PerformQuack(); mallard.PerformFly(); Console.WriteLine(); Console.WriteLine("=> Model Duck"); Duck model = new ModelDuck(); model.PerformFly(); model.FlyBehavior = new FlyRockedPowered(); model.PerformFly(); Console.WriteLine(); #if (!vscode) // Add this for run from VS in order to console window will keep open Console.WriteLine("Press Enter for exit"); Console.ReadLine(); #endif }