接口
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(); }