设计模式之Adapter(适配器模式)
所谓适配器模式就是将一个类的接口,转换成客户期望啊的另一个接口,使原本不兼容的类可合作无间。
例如这样的一个场景:在一个Amd的主板上原本只能插着Amd的CPU。
用代码表示就是这样的:
package com.unis.adpater;/** * AMD主板类 * @author Administrator * */public class AmdBoard {private Amd amd;public AmdBoard(Amd amd) {this.amd = amd;}public void start(){System.out.println("开机");amd.ac();}}package com.unis.adpater;/** * AMD的CPU * @author Administrator * */public interface Amd {void ac();}
package com.unis.adpater;/** * Intel的CPU * @author Administrator * */public interface Intel {void power();}
package com.unis.adpater;/** * 适配器 * @author Administrator * */public class Intel2Amd implements Amd {Intel i ;public Intel2Amd(Intel i) {this.i= i;}@Overridepublic void ac() {i.power();}}
package com.unis.adpater;/** * I7 CPU * @author Administrator * */public class I7 implements Intel {@Overridepublic void power() {System.out.println("I7 CPU 工作了");}}package com.unis.adpater;public class Test {public static void main(String[] args) {Intel i7 = new I7();Intel2Amd i2a = new Intel2Amd(i7);AmdBoard ab = new AmdBoard(i2a);//让主板工作ab.start();}}