ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 软件工程 >> 五格数理详解 设计模式详解(五)----------适配器模式

五格数理详解 设计模式详解(五)----------适配器模式(1/5)

来源:网络整理     时间:2017-11-29     关键词:五格数理详解

本篇文章主要介绍了"五格数理详解 设计模式详解(五)----------适配器模式",主要涉及到五格数理详解方面的内容,对于软件工程感兴趣的同学可以参考一下:  各位朋友好,本章节我们继续讲第五个设计模式。   在生活中,我们都知道手机内存卡是无法直接接电脑的,因为内存卡的卡槽比较小,而电脑只有USB插孔,此时我...

    各位朋友好,本章节我们继续讲第五个设计模式。 

  在生活中,我们都知道手机内存卡是无法直接接电脑的,因为内存卡的卡槽比较小,而电脑只有USB插孔,此时我们需要用到读卡器。这个读卡器就相当于是适配器。这是生活上的适配器,那么在OO对象中,适配器就是将一个接口转换成另一个接口,使得客户可以使用。

 适配器模式从实现方式上分为两种,类适配器和对象适配器,这两种的区别在于实现方式上的不同,一种采用继承,一种采用组合的方式。

下面我们来看一个例子,下面有两个接口,一个是鹿(Deer),一个是狼(wolf),

publicinterface Deer {
    publicvoid run();
    publicvoid eatGrass();
}

interface Wolf{
    publicvoid run();
    publicvoid eatMeat();
}

 

我们让梅花鹿(SikaDeer)和雪狼(SnowWolf)分别实现这两个接口

class SikaDeer implements Deer{

    @Override
    publicvoid run() {
        System.out.println("我在跑");

    }

    @Override
    publicvoid eatGrass() {
        System.out.println("我在吃草");

    }

}

class SnowWolf implements Wolf{

    @Override
    publicvoid run() {
        System.out.println("我在跑");

    }

    @Override
    publicvoid eatMeat() {
        System.out.println("我在吃肉");

    }

}

假设现在狼要吃鹿,但是他要伪装成鹿然后混进去,那么现在因为接口不同,无法伪装,所以现在我们帮它写个适配器:

五格数理详解相关图片

五格数理详解相关文章