第24章
大B:“看,简单明了吧!现在的过程就是:客户调用Target接口的request方法,实际就是调用其父类Adaptee的specialRequest方法。”
小A:“嘿嘿!这样一说倒真的是简单喔!”
大B:“对啊!这就是大家通常常说的类的适配器!类适配器具有以下的两个特点:1、适配器类(Adapter)实现Target接口;2、适配器类(Adapter)通过继承来实现对Adaptee类的重用。”
小A:“好!”
大B:“要正确地区别这两种适配器的区别,我们还是从一个简单的例子开始吧!我们的系统中有一个具有某个特定功能的类Adaptee,一个客户类Client——他需要一个实现Target接口的对象,和一个Target接口。”以下是它们的源码:
//
publicclassAdapterimplementsTarget{
Adapteeadaptee=newAdaptee;
publicvoidrequest{
对于这两者不同的适配器客户代码其实是完全一样的。以下是客户的代码:
//
publicclassClient{
publicstaticvoidmain(Stringargs){
Targett=newAdapter;
www.youxs.org;
大B:“现在可是全明白了吧?”
小A:“嘿嘿!现在都懂了。”
publicclassAdaptee{
publicvoidspecialRequest{
publicclassAdapterextendsAdapteeimplementsTarget{
publicvoidrequest{
publicvoidrequest;
大B:“我还是跟你讲讲类适配器和对象适配器吧!举些例子,这样你就明白了。”
(“CalledSpecificRequestinAdaptee”);
//
www.youxs.org;
“根据上面的分析我们知道此时需要一个Adapter对象,该对象实现Target接口,同时它又重用现有的Adaptee类。任何有一点点OO(面向对象)知识的人都会想到通过继承可以达到重用的目的。”
下面是通过继承实现Adaptee类重用的例子:
//
publicstaticvoidmain(Stringargs){
Targett=……//newAdapter;
下面是一个通过组合关系实现继承的例子,以下是源码:
//
//
publicinterfaceTarget{
publicclassClient{
其他人正在读 :【赤心巡天】【凌皓】【华娱璀璨时代】【归雾】【玄幻:我重瞳者,开局人生模拟器】【穿成恶毒娘,我携巨资带三崽逃荒】【诡异命纹:开局铭刻十大阎罗】【战锤40k:碎裂钢魂】【诸天从小阴间开始】【美利坚:我的时代】【雌雄同体】【我怎么就成F1车手了?】【顾命大臣】【踏星】【四合院:我随身携带物流园】【从自创魂环开始的斗罗】【人生副本游戏】【短视频通古代,皇帝们羡慕哭了!】【流浪诸天的剑客】【从零开始无限进化】【重回1986小山村】【灯花笑】【四合院从美好生活开始】【龙王医婿全文免费阅读】【狂武战王楚天河秦晓柔】【兽医从失业走上人生巅峰宋诚林娉娉】【黄昏分界】【长生武道:从太极养生功开始】【悖论】【这个诡异三国游戏太凶残了】