示例#1
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();
                }
            }
        }
示例#2
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();
     }
 }
示例#3
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();
     }
 }
示例#4
0
 public void Travel(IWalking walking)
 {
     walking.Walk();
 }