本篇文章主要介绍了"五格数理详解 设计模式详解(五)----------适配器模式",主要涉及到五格数理详解方面的内容,对于软件工程感兴趣的同学可以参考一下:
各位朋友好,本章节我们继续讲第五个设计模式。 在生活中,我们都知道手机内存卡是无法直接接电脑的,因为内存卡的卡槽比较小,而电脑只有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("我在吃肉");
}
}
假设现在狼要吃鹿,但是他要伪装成鹿然后混进去,那么现在因为接口不同,无法伪装,所以现在我们帮它写个适配器: