19 lines
463 B
C#
19 lines
463 B
C#
namespace Ch1Duck;
|
|
|
|
public abstract class Duck(IFlyBehaviour flyBehaviour, IQuackBehaviour quackBehaviour) {
|
|
public abstract void Display();
|
|
|
|
public void PerformFly() {
|
|
flyBehaviour.Fly();
|
|
}
|
|
|
|
public void PerformQuack() {
|
|
quackBehaviour.Quack();
|
|
}
|
|
}
|
|
|
|
public class MallardDuck() : Duck(new FlyWithWings(), new NormalQuack()) {
|
|
public override void Display() {
|
|
Console.WriteLine("I'm a real Mallard duck");
|
|
}
|
|
} |