예제 #1
0
 public MallardDuck()
 {
     flyBehaviour   = new FlyWithWingsBehaviour();
     quackBehaviour = new QuackBehaviour();
 }
예제 #2
0
 public void setQuackBehaviour(QuackBehaviour qb)
 {
     quackBehaviour = qb;
 }
예제 #3
0
 public void PerformQuack() => QuackBehaviour?.Quack();
예제 #4
0
        //public abstract void setFlyBehaviour(FlyBehaviour fly); //facem atribuirea direct in constructor
        //{ _flyBehaviour = fly; } //facem abstracta sa obligam specificarea unei behaviour , schimbat, vezi mai sus

        public void setQuackBehaviour(QuackBehaviour quack) //pentru a putea schimba la runtime
        {
            _quackBehaviour = quack;
        }
예제 #5
0
 public void PerformQuack()
 {
     QuackBehaviour.LaudQuack();
 }
예제 #6
0
 // 动态改变叫声
 public void SetQuackMethod(QuackBehaviour qb)
 {
     quackBehaviour = qb;
 }
예제 #7
0
 public RedheadDuck()
 {
     flyBehaviour   = new FlyWithWingsBehaviour();
     quackBehaviour = new QuackBehaviour();
 }
예제 #8
0
 public void SetQuackBehaviour(QuackBehaviour qc)
 {
     QuackBehaviour = qc;
 }
예제 #9
0
 public void performQuack()
 {
     QuackBehaviour.quack();
 }