设计模式文章集合:http://aphysia.cn/categories/designpattern
开局一张图,剩下全靠写…
介绍
适配器模式(百度百科):在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
适配器模式的主要目的就是为了兼容性,把原来不匹配的两个类或者接口可以协同工作,它属于结构型模式,主要分为三种:类适配器,对象适配器,接口适配器。
适配器模式灵活性比较好,可以提高复用性,但是如果滥用,系统调用关系会比较复杂,每一次的适配,本质上都是一种妥协。
不断妥协,最后迎来的,必定是重构。
适配器模式类型
类适配器
描述:适配器的类(Adapter
),通过继承原有类,同时实现目标接口,完成的功能是拥有原有类的属性方法,同时可以调用目标接口。
例子:原来一种充电器(目标类)可以给IPhone
充电,另一种充电器(接口)可以给Android
手机充电,我们想实现一种适配器可以让IPhone
充电器拥有Android
充电器的功能。
代码结构如下:
AndroidCharger.class
:
//给android充电的接口
public interface AndroidCharger {
public void androidout();
}
AppleCharger.class
//给苹果充电的类
public class AppleCharger {
public void iphoenOut(){
System.out.println("我是充电器,我可以给苹果充电...");
}
}
ChagerAdapater.class
//充电适配器
public class ChagerAdapater extends AppleCharger implements AndroidCharger {
@Override
public void androidout() {
iphoenOut();
System.out.println("适配器开始工作----");
System.out.print("我拥有了给Android充电的能力"