Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1503926
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 20:53:31

一起学习

设计模式很重要,地球人都知道。

Adapter,适配器或者叫转换器,这种模式主要用来将某一个类的接口转换成另外一个类的接口。其实现起来也很简单,就是新建一个类,让其实现所需要的接口,而其实现的过程是完全依赖于原需要被Adapt的类的。这和我们现实生活中的各类适配器非常类似,例如:电源适配器(将220伏转换成110伏)等等。

1. 实现方式

一般有两种实现方式:继承和实例成员。

让我们假设ClassA要被AdaptInterfaceB,如下:

//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成标准的类。

下载本文示例代码


设计模式之Adapter设计模式之Adapter设计模式之Adapter设计模式之Adapter设计模式之Adapter设计模式之Adapter设计模式之Adapter设计模式之Adapter设计模式之Adapter设计模式之Adapter设计模式之Adapter设计模式之Adapter
阅读(159) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~