1. 适配器模式定义:

适配器模式是一种结构型设计模式,通过一个适配器类把具有不同方法功能的两个类A和B组合起来,使得这个适配器类同时具有两个类的不同的功能,调用方不管要使用A类的功能还是B类的功能,都可以通过调用适配器类来实现,不用再分别调用A和B;

举个栗子

用户新买了一件两孔插座的电器,但是家里只有一个三孔插座,这个时候怎么办呢?可以再买一个插座适配器,来做转化,把适配器插到三孔插座上,用户直接把电器插到适配器即可

主要角色:源对象,目标对象,适配器

2. 适配器分类

2.1 类适配器模式

通过继承特性来实现适配器功能,继承实现关系如下

源对象

*/**
 * 两孔插座
 */*
**public** **class** **TwoHoleSocket** **{
	public** **void** **twoHole()** **{**
		System**.**out**.**println**(**"插入两孔插座"**);
	}
}**

目标对象

*/**
 * 三孔插座
 */*
**public** **interface** **ThreeHoleSocket** **{
	void** **threeHole();
}**

适配器

*/**
 * 适配器:可以同时使用两孔和三孔插座
 */*
**public** **class** **Adapter** **extends** TwoHoleSocket **implements** ThreeHoleSocket**{**
		@Override
    **public** **void** **threeHole()** **{**
			System**.**out**.**println**(**"插入三孔插座"**);
		}
		public** **static** **void** **main(**String**[]** args**)** **{**
				Adapter adapter **=** **new** Adapter**();**adapter**.**twoHole**();***//使用两孔插座*
        adapter**.**threeHole**();***//使用三孔插座*
    **}
}**

2.2 对象适配器模式

通过组合关系来实现适配器功能,ThreeHoleSocket和TwoHoleSocket没有变化