赞
踩
package com.learning.adapter.class_adapter;
/**
* 旧打印机类,有老旧的打印方法
*/
public class OldPrinter {
public void printOld(String content){
System.out.println("旧打印机打印内容:" + content);
}
}
package com.learning.adapter.class_adapter;
/**
* 打印接口
*/
public interface Printable {
void print(String content);
}
package com.learning.adapter.class_adapter;
/**
* 新系统
*/
public class NewSystem {
private Printable printer;
public NewSystem(Printable printer){
this.printer = printer;
}
public void printDocument(String content){
printer.print(content);
}
}
package com.learning.adapter.class_adapter;
/**
* 旧打印机适配器类
*/
public class OldPrinterAdapter extends OldPrinter implements Printable{
@Override
public void print(String content){
// 调用旧打印机的打印方法
printOld(content);
}
}
package com.learning.adapter.class_adapter;
/**
* 客户端类
*/
public class Client {
public static void main(String[] args) {
NewSystem newSystem = new NewSystem(new OldPrinterAdapter());
newSystem.printDocument("Hello World!");
}
}
package com.learning.adapter.object_adapter; /** * 旧打印机适配器类 */ public class OldPrinterAdapter implements Printable { private OldPrinter oldPrinter; public OldPrinterAdapter(OldPrinter oldPrinter){ this.oldPrinter = oldPrinter; } @Override public void print(String content){ // 调用旧打印机的打印方法 oldPrinter.printOld(content); } }
package com.learning.adapter.object_adapter;
/**
* 客户端类
*/
public class Client {
public static void main(String[] args) {
NewSystem newSystem = new NewSystem(new OldPrinterAdapter(new OldPrinter()));
newSystem.printDocument("Hello World!");
}
}
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。