Lmxy1990 ' Blog

设计模式之策略模式

策略模式



  • 策略模式是用于解决面向对象中的抽象类与接口的局限性.即一般的对类别进行抽象,对行为进行抽象为接口.这种方式在代码复用上有一定的局限性.而策略模式可以提高代码的复用.
  • eg:


    //定义一个接口,用于在抽象类都能调用到.(里氏替换原则)
    interface Speak{

    void doSpeak() ;
    }
    // 实现接口1,其他类只要功能一样都可以采用它.
    class SpeakCn implements Speak{
    @Override
    public void doSpeak() {

    System.out.println("中文");
    

    }
    }
    //实现接口2,其他类只要功能一样都可以采用它.
    class SpeakEn implements Speak{
    @Override
    public void doSpeak() {

    System.out.println("English");
    

    }
    }
    //抽象类 使用接口来实现.将具体实现放到子类来实现接口.
    abstract class man{
    Speak speak ;
    void speak(){

    speak.doSpeak();
    

    }
    }
    class CnMan extends man{
    //初始化赋值父类接口的实现,也可以采用Spring的初始化加载实现.
    public CnMan() {

    speak = new SpeakCn() ;
    

    }
    }
    //使用
    class test{
    public void main(String[] args) {

    new CnMan().speak();
    

    }
    }

    End
坚持原创技术分享,您的支持将鼓励我继续创作!