/** |
* 示例(三):接口的适配器模式 |
* |
* 这次咱们直接将原类做成一个接口 --> 原始接口 |
*/ |
interface Originable { |
public void originMethod1(); |
public void originMethod2(); |
} |
/** |
* 该抽象类实现了原始接口,实现了所有的方法。 |
* |
* 空实现即可,具体实现靠子类,子类只需实现自身需要的方法即可。 |
* |
* 以后咱们就不用跟原始的接口打交道,只和该抽象类取得联系即可。 |
*/ |
abstract class Adapter implements Originable { |
public void originMethod1() { |
} |
public void originMethod2() { |
} |
} |
/** |
* 子类只需选择你所需要的方法进行实现即可 |
*/ |
class OriginSub1 extends Adapter { |
@Override |
public void originMethod1() { |
System.out.println( "this is Originable interface's first sub1..." ); |
} |
/** |
* 此时:originMethod2方法默认空实现 |
*/ |
} |
class OriginSub2 extends Adapter { |
/** |
* 此时:originMethod1方法默认空实现 |
*/ |
@Override |
public void originMethod2() { |
System.out.println( "this is Originable interface's second sub2..." ); |
} |
} |
/** |
* 客户端测试类 |
* |
* @author Leo |
*/ |
public class Test { |
public static void main(String[] args) { |
Originable origin1 = new OriginSub1(); |
Originable origin2 = new OriginSub2(); |
origin1.originMethod1(); |
origin1.originMethod2(); |
origin2.originMethod1(); |
origin2.originMethod2(); |
} |
} //源代码片段来自云代码http://yuncode.net |
|