コード例 #1
0
        static void Main(string[] args)
        {
            Duck mallard = new MallardDuck();

            mallard.performFly();
            mallard.performQuack();

            Duck model = new ModelDuck();

            model.performFly();
            model.setFlyBehavior(new FlyRocketPowered());
            model.performFly();
            model.setFlyBehavior(new FlyWithWings());
            model.performFly();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Duck mallard = new MallardDuck(8, 1);

            mallard.display();
            mallard.setFlyBehavior(new FlyRocketPowered());
            // FlyRocketPowered class is inherited from IFlyBehavior interface.
            // Shortly, they have the same attributes. So the descendent can be use as the ancestor.
            WriteLine();
            mallard.performFly();
            mallard.swim();
            WriteLine();

            mallard.performOvulate();
            WriteLine();
            mallard.display();
            WriteLine();

            Duck redHead = new RedHeadDuck(2, 2);

            redHead.display();
            redHead.performOvulate();
            WriteLine();
            redHead.display();
            redHead.performOvulate();
            WriteLine();

            Duck rubber = new RubberDuck();

            rubber.display();
            WriteLine();

            Duck decoy = new DecoyDuck();

            decoy.display();
            WriteLine();

            Duck redHead2 = new RedHeadDuck(14, 1);

            redHead2.display();
            WriteLine();
            redHead2.display();
        }