adapter1.java

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

JAVA
43
字号
//如果将B接到A上用,这叫作单向适配器模式,A主动,B被动
//单向适配器模式要点:继承方法
//考虑被动方以后可能被切换,为了方便,最好面向接口编程
class A{
	 public void funA(){
	 	System.out.println("图像清晰化"); 
	 	}
	 }
	 
interface IEM{//定义一个接口,管理所有的扩展模块(被动方模块)
	public abstract void extendFun();
	}
	
class B implements IEM{
	public void extendFun(){
		System.out.println("图像去噪声老算法"); 
		}
	}
	
class C implements IEM{
	public void extendFun(){
		System.out.println("图像去噪声新算法"); 
		}
	}	

class SubA extends A{//将A进行扩展,以后将SubA当成A来用
	private IEM iem;	//完全面向接口编程,可以将IEM的任何实现类对象接入(可以用Spring管理)
	public SubA(IEM iem){
		this.iem = iem;
		}
	public void funA(){
		super.funA();//值得一提的是,这句代码可以去掉,如果去掉,就是功能替换
		iem.extendFun();
		}
	}

public class Adapter1{//客户端,最终使用方
	public static void main(String args[]){
		C c = new C();
		SubA subA = new SubA(c);
		subA.funA();
		}
	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?