2008-06-15 | OO(一)
OO学习之旅开始了
先举个例子,关于鸭子的
如何设计鸭子,我想应该分为鸭子类和鸭子行为类
鸭子行为类:
//飞行接口
public interface FlyBehavior{
public void fly();
}
FlyNoWay,FlyCanWay类继承此接口,分别表示是否会飞
//游泳接口
public interface SwimBehavior{
public void swim();
}
SwimNoWay,SwimCanWay类继承此接口,分别表示是否会游泳
鸭子类:
public abstract class Duck
{
FlyBehavior flyBehavior;
SwimBehavior swimBehavior;
public void PerformFly(){
flyBehavior.fly();
}
public void PerformSwim(){
swimBehavior.swim();
}
}
那么具体的鸭子类就是继承鸭子基类,然后实现行为的子类
这样要生成一个具体的鸭子就是先继承鸭子的基类,然后实现行为类里的方法,如
class DuckFirst:Duck
{
public DuckFirst()
{
flyBehavior = new FlyNoWay();
swimBehavior = new SwimNoWay();
}
}
接下来就是实现生产第一个鸭子的时候了
Duck() duckFirst=new DuckFirst();
duckFirst.PerformFly();
duckFirst.PerFormSwim();




评论