一.概念
适配器模式 把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。 适配器可以分为两类,一类是类的适配器模式(采用继承实现),一类是对象适配器(采用对象组合方式实现)。
二.举例子
假设现在在都市里有人物,交通工具。我们抽象出交通工具这个接口,然后有摩托车和汽车两个交通工具。当人来到草原上时,不仅可以用原来的交通工具,还可以用马、牛作为交通工具。但是一开始设计的时候马和牛只是一般的动物设计,那么这个时候得设计一个适配器了。
/**
* 将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
* 应用场景
* 在以下各种情况下使用适配器模式:
* 1.系统需要使用现有的类,而此类的接口不符合系统的需要。
* 2.想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。这些源类不一定有很复杂的接口。
* 3.(对"对象适配器"而言)在设计里,需要改变多个已有子类的接口,如果使用类的适配器模式,就要针对每一个子类做一个适配器,而这不太实际。
*/
public class AdapterTest {
//公交工具接口
public interface Riding {
public void ride();
}
public class MotorBike implements Riding {
@Override
public void ride() {
System.out.println(