📄 decorator1.java
字号:
/*
单向适配器模式是在主模块上接入一个扩展模块,用继承法
优势:能够很好的应付扩展模块的切换
但是它有缺陷:扩展模块无法很好的应付主模块的切换
问题类比:Convert为ReadStrFromFile服务,以后又要为ReadStrFromNet服务
用单向适配器模式,就必须为ReadStrFromNet编写子类,很麻烦
*/
class ReadStrFromFile{//主模块
public void read(){
System.out.println("从文件读取字符串");
}
}
class Convert{//扩展模块
public void convertToUpper(){
System.out.println("转大写字母");
}
}
//适配器模式:
class SubReadStrFromFile extends ReadStrFromFile{
private Convert convert;
public SubReadStrFromFile(Convert convert){
this.convert = convert;
}
public void read(){
super.read();
convert.convertToUpper();
}
}
public class Decorator1{//客户端,最终使用方
public static void main(String args[]){
SubReadStrFromFile srsff = new SubReadStrFromFile(new Convert());
srsff.read();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -