1234567 | /* * 接口为5v电压的接口 , 这个目标抽象类 */public interface Power5 { void getPower5();} |
---|
12345 | public class Power220 { public void getPower220(){ System.out.println("正在输出220v电压....."); }} |
---|
1234567891011121314151617181920212223242526 | /* * 适配器类,主要的目的就是将220v电压转换为5v的电压供笔记本充电 * 其中Power5是目标抽象接口,是最终需要的接口,Power220是一个适配者类,是已经存在的,只需要适配器转换即可 */public class AdapterPower5 extends Power220 implements Power5 { /** * 重载Power5中的方法,获取需要的5v电压 * 过程: 先获取220v电压,然后进行转换即可 * */ @Override public void getPower5() { super.getPower220(); //首先获取220v电压 this.transform(); //将220v电压转换成5v的电压 System.out.println("获取5v电压......."); } /* * 将220v电压转换成5v电压的方法 */ public void transform() { System.out.println("现在将220v电压转换成5v电压......."); }} |
---|
12345678910111213 | /* * 笔记本类 */public class NoteBook { /** * 笔记本充电的方法 * @param power5 电压为5v的对象 */ public void PowerOn(Power5 power5){ power5.getPower5(); //获取5v电压 System.out.println("笔记本获取了5v的电压,正在开始充电......"); }} |
---|
123456 | public class Client { public static void main(String[] args) { NoteBook noteBook=new NoteBook(); //创建笔记本的类 noteBook.PowerOn(new AdapterPower5()); //调用笔记本充电的类 }} |
---|
1234567891011121314151617181920212223242526 | /* * 适配器类,这个是对象适配器,适配者类是作为成员变量存在,是组合关系 */public class Adapter implements Power5 { private Power220 power; //220v电压类的对象,作为成员变量 /* * 构造方法,主要是为类初始化Power220v的对象 */ public Adapter(Power220 power){ this.power=power; } @Override public void getPower5() { power.getPower220(); //获取220v电压 transform(); //转换电压 System.out.println("正在输出5v电压......."); } public void transform(){ System.out.println("将220v电压转换成5v的电压......"); }} |
---|