设计模式之策略模式

策略模式即设计不同的策略应用于不同的实现上。
设计模式之策略模式

代码实现如下:

//动物
public abstract class Animal
{
    private Behavior behavior;//让animal和behavior组合起来

    //可调用set方法来给每种不同的动物加不同的行为
    public void setBehavior(Behavior behavior){
        this.behavior = behavior;
    }

    public void talk(){
        behavior.speak();//让行为动起来
    }
}
//各种动物的实现
class Dog extends Animal{}
class Cat extends Animal{}
class Fog extends Animal{}
class Ox extends Animal{}

//行为接口
public interface Behavior{
    void speak();
}

//定义各种行为
class DogSpeaking implements Behavior
{
    public void speak(){
        System.out.println("汪汪。。。。");
    }
}

class CatSpeaking implements Behavior
{
    public void speak(){
        System.out.println("喵喵。。。。");
    }
}

class FogSpeaking implements Behavior
{
    public void speak(){
        System.out.println("呱呱。。。。");
    }
}

class OxSpeaking implements Behavior
{
    public void speak(){
        System.out.println("哞哞。。。。");
    }
}
上一篇:ORM : 对象关系映射


下一篇:Java 日期类型详解