java设计模式连载(6) --适配者模式
名称:Adapter
意图: 将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
适用性:
- 你想使用一个已经存在的类,而它的接口不符合你的需求。
- 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
- (仅适用于对象A d a p t e r )你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。
实例:
1. 构建一个目标接口 ,想利用这个接口 但是不能改变这个接口的源码。假设一把锁这个接口
package Adapter_Pattern; public interface Lock { //目标锁 public void ordinarylockFunction(); //普通锁功能 }
2. 利用密码锁的功能 写一个Adapteepackage Adapter_Pattern; public class Tricklock{ //Adaptee public void TricklockFunction(){ System.out.println("密码锁可以用来锁保险柜"); } }
3. 利用普通锁来构建一个适配器package Adapter_Pattern; public class Ordinarylock implements Lock{ //Adapter private Tricklock tricklock; public Ordinarylock(Tricklock tricklock){ this.tricklock = tricklock; } public void ordinarylockFunction() {
tricklock.TricklockFunction(); } }
-
4. 测试类package Adapter_Pattern; public class Test { /** * 要使一个目标锁具有密码锁的功能 ,组合而成。 * @param args*/ public static void main(String[] args) { Lock lock = new Ordinarylock(new Tricklock()); lock.ordinarylockFunction(); //现在锁具有锁住保险柜的功能了 } }
5. 多谢浏览,敬请斧正。