2008年(3500)
分类:
2008-05-04 20:53:31
设计模式很重要,地球人都知道。
Adapter,适配器或者叫转换器,这种模式主要用来将某一个类的接口转换成另外一个类的接口。其实现起来也很简单,就是新建一个类,让其实现所需要的接口,而其实现的过程是完全依赖于原需要被Adapt的类的。这和我们现实生活中的各类适配器非常类似,例如:电源适配器(将220伏转换成110伏)等等。
1. 实现方式
一般有两种实现方式:继承和实例成员。
让我们假设ClassA要被Adapt成InterfaceB,如下:
//ClassA
packagesample;
publicclassClassA {
publicvoidmethod1(){
}
}
//InterfaceB
packagesample;
publicclassInterfaceB {
publicvoidmethod2();
}
· 继承方式
实际上就是通过集成ClassA,然后再加上新的接口方法。
//ClassC
packagesample;
publicclassClassCextendsClassAimplementsInterfaceB{
publicvoidmethod2(){
//......
//通过继承的方法访问ClassA中的原有方法
//......
}
}
· 实例成员方式
实际上就是在新的类中创建一个ClassA的实例,再加上新的接口方法。
//ClassC
packagesample;
publicclassClassCimplementsInterfaceB{
privateClassAinstanceA=newClassA();
publicvoidmethod2(){
//......
//通过instanceA调用ClassA中的原有方法
//......
}
}
2. 应用场景
当你有两个不同的类,其实现方法(接口)不一致,而你又想通过统一的方式来操作这两个类,而且也不想改变这两个类的原有实现方式,这时,你就需要使用Adapter模式了。一般情况下,是将某个特殊的类Adapt成标准的类。
下载本文示例代码