0
点赞
收藏
分享

微信扫一扫

装饰设计模式 #yyds干货盘点#

接口

public interface MyReader {
    void read();
}

基本实现类

public class MyFileReader implements MyReader {

@Override
public void read() {
    System.out.println("MyFileReader read");
}

}

继承实现:功能增强类

public class MySuperFileReader extends MyFileReader{
    @Override
    public void read() {
        System.out.println("MySuperFileReader read");
    }
}
  • 测试类
    public static void main(String[] args) throws Exception {
        MyReader reader = new MyFileReader();
        reader = new MySuperFileReader();
        myBufferedFileReader.read();
    }

装饰实现:功能增强类

public class MyBufferedFileReader implements MyReader {
    private MyFileReader myFileReader;

    public MyBufferedFileReader(MyFileReader myFileReader) {
        super();
        this.myFileReader = myFileReader;
    }
    @Override
    public void read() {
        System.out.println("功能增强");
        myFileReader.read();
    }
}
  • 测试类
    public static void main(String[] args) throws Exception {
        MyReader reader = new MyFileReader();
        MyReader myBufferedFileReader = new MyBufferedFileReader(reader);
        myBufferedFileReader.read();
    }
举报

相关推荐

0 条评论