コード例 #1
0
ファイル: AnimalBase.cs プロジェクト: iv-nav/Projects
 public AnimalBase(string name)
 {
     _name            = name;
     walkingBehavior  = new NoWalk();
     swimmingBehavior = new NoSwim();
     flyingBehavior   = new NoFly();
 }
コード例 #2
0
        public void LetsMove()
        {
            for (int i = 0; i < animals.Count; i++)
            {
                if (animals[i] is IWalking)
                {
                    IWalking iDog = animals[i] as IWalking;
                    iDog.Walk();
                }

                else if (animals[i] is ISwimming)

                {
                    ISwimming iFish = animals[i] as ISwimming;
                    iFish.Swim();
                }

                else if (animals[i] is IFlying)
                {
                    IFlying iBird = animals[i] as IFlying;
                    iBird.Fly();
                }
                else if (animals[i] is IFlying)
                {
                    IFlying iButterfly = animals[i] as IFlying;
                    iButterfly.Fly();
                }
            }
        }
コード例 #3
0
ファイル: DuckCreator.cs プロジェクト: LoisOk007/Ducks
        public IDuck Create(FlyType fly, QuackType quack, SwimType swim)
        {
            IFlying   flying   = _fly.Create(fly);
            IQuacking quacking = _quack.Create(quack);
            ISwimming swimming = _swim.Create(swim);

            return(new UniversalDuck(flying, quacking, swimming));
        }
コード例 #4
0
        public override bool IsMovable(IBody obj)
        {
            if (obj is ISwimming)
            {
                ISwimming swimming = (ISwimming)obj;
                obj.SetStrench(StrenchForSwim);
                swimming.Swim();
            }

            return(false);
        }
コード例 #5
0
 public void LetsMove()
 {
     if (animals is IWalking)
     {
         IWalking iDog = animals as IWalking;
         iDog.Walk();
     }
     if (animals is ISwimming)
     {
         ISwimming iFish = animals as ISwimming;
         iFish.Swimm();
     }
     if (animals is IFlying)
     {
         IFlying iButt = animals as IFlying;
         iButt.Fly();
     }
     if (animals is IFlying)
     {
         IFlying iBird = animals as IFlying;
         iBird.Fly();
     }
 }
コード例 #6
0
 public void LetsMove()
 {
     if (animals is IWalking)                 // проверяем, может ли собака ходить
     {
         IWalking iDog = animals as IWalking; // получаем интерфейсную ссылку. за счет условия выше мы можем быть уверены, что здесь не будет значения null
         iDog.Walk();                         // вызываем метод интерфейса, он вызовет реализацию этого метода в классе Dog
     }
     if (animals is IFlying)                  // проверяем, может ли собака ходить
     {
         IFlying iFly = animals as IFlying;
         iFly.Fly();
     }
     if (animals is ISwimming)
     {
         ISwimming iSwim = animals as ISwimming;
         iSwim.Swim();
     }
     if (animals is IFlying)
     {
         IFlying iButterfly = animals as IFlying;
         iButterfly.Fly();
     }
 }
コード例 #7
0
 public Penguin(ISwimming swim, IQuacking quack, IFlying fly)
 {
     swim_  = swim;
     quack_ = quack;
     fly_   = fly;
 }
コード例 #8
0
 public Rubber(ISwimming swim, IQuacking quack, IFlying fly)
 {
     swim_  = swim;
     quack_ = quack;
     fly_   = fly;
 }
コード例 #9
0
ファイル: UniversalDuck.cs プロジェクト: LoisOk007/Ducks
 public UniversalDuck(IFlying fly, IQuacking quack, ISwimming swim) : base(fly, quack, swim)
 {
 }
コード例 #10
0
 protected BaseBird(IFlying flying, ISound sound, ISwimming swimming)
 {
     _fly   = flying ?? throw new ArgumentNullException();
     _sound = sound ?? throw new ArgumentNullException();
     _swim  = swimming ?? throw new ArgumentNullException();
 }
コード例 #11
0
 public Mallarrd(ISwimming swim, IQuacking quack, IFlying fly)
 {
     swim_  = swim;
     quack_ = quack;
     fly_   = fly;
 }
コード例 #12
0
 public UniversalBird(IFlying flying, ISound sound, ISwimming swimming) : base(flying, sound, swimming)
 {
 }
コード例 #13
0
 protected BaseDuck(IFlying fly, IQuacking quack, ISwimming swim)
 {
     _fly   = fly ?? throw new ArgumentNullException();
     _swim  = swim ?? throw new ArgumentNullException();
     _quack = quack ?? throw new ArgumentNullException();
 }