class
Program
... {
static void Main(string[] args)
...{
Duck duck = new MiniDuck();
duck.fly();
FlyBehavior Fly = new FlyRocketPowered();
duck.SetFlyBehavior=Fly;
duck.fly();
}
}
public abstract class Duck
... {
public FlyBehavior flyBehavior;
public void fly()
...{
flyBehavior.fly();
}
public FlyBehavior SetFlyBehavior
...{
set
...{
this.flyBehavior = value;
}
}
}
public class MiniDuck:Duck
... {
public MiniDuck()
...{
this.flyBehavior = new FlyWithWing();
}
}
/**/ /// <summary>
/// 飞行的接口申明
/// </summary>
public interface FlyBehavior
... {
void fly();
}
/**/ /// <summary>
/// 实现飞行的接口
/// </summary>
public class FlyWithWing : FlyBehavior
... {
public void fly()
...{
Console.Write("我是能飞的");
}
}
public class FlyRocketPowered : FlyBehavior
... {
public void fly()
...{
Console.Write("有火箭带也能飞");
}
}
... {
static void Main(string[] args)
...{
Duck duck = new MiniDuck();
duck.fly();
FlyBehavior Fly = new FlyRocketPowered();
duck.SetFlyBehavior=Fly;
duck.fly();
}
}
public abstract class Duck
... {
public FlyBehavior flyBehavior;
public void fly()
...{
flyBehavior.fly();
}
public FlyBehavior SetFlyBehavior
...{
set
...{
this.flyBehavior = value;
}
}
}
public class MiniDuck:Duck
... {
public MiniDuck()
...{
this.flyBehavior = new FlyWithWing();
}
}
/**/ /// <summary>
/// 飞行的接口申明
/// </summary>
public interface FlyBehavior
... {
void fly();
}
/**/ /// <summary>
/// 实现飞行的接口
/// </summary>
public class FlyWithWing : FlyBehavior
... {
public void fly()
...{
Console.Write("我是能飞的");
}
}
public class FlyRocketPowered : FlyBehavior
... {
public void fly()
...{
Console.Write("有火箭带也能飞");
}
}