/**
* 示例(一):类的适配器模式
*
* 原类拥有一个待适配的方法originMethod
*/
class Original {
public void originMethod() {
System.
out.
println("this is a original method...");
}
}
interface Targetable {
/**
* 与原类的方法相同
*/
public void originMethod();
/**
* 目标类的方法
*/
public void targetMethod();
}
/**
* 该Adapter类的目的:将Original类适配到Targetable接口上
*/
class Adapter extends Original implements Targetable {
/**
* 可以看到该类只需要实现targetMethod即可。
*
* 因为Targetable接口里的originMethod方法已经由Original实现了。
*
* 这就是Adapter适配器这个类的好处:方法实现的转移(或称嫁接) --> 将Adapter的责任转移到Original身上
*
* 这样就实现了类适配器模式 --> 将Original类适配到Targetable接口上
*
* 如果Original又添加了一个新的方法originMethod2,那么只需在Targetable接口中声明即可。
*/
@Override
public void targetMethod() {
System.
out.
println("this is a target method...");
}
}
/**
* 客户端测试类
*
* @author Leo
*/
public class Test {
public static void main
(String[] args
) {
Targetable target = new Adapter();
target.originMethod();
target.targetMethod();
}
}//源代码片段来自云代码http://yuncode.net