decorator1.java

来自「郭克华j2ee高级框架实战教学视频源代码 这个是比较值得一看的 由郭克华博士」· Java 代码 · 共 37 行

JAVA
37
字号
/*
单向适配器模式是在主模块上接入一个扩展模块,用继承法
优势:能够很好的应付扩展模块的切换
但是它有缺陷:扩展模块无法很好的应付主模块的切换
问题类比: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 + =
减小字号Ctrl + -
显示快捷键?