文章目录
1.你知道适配器的使用场景?
- 旧系统改造和升级
- 适配功能
2. 适配器模式的角色
- adaptee: 被适配的类
- target: 客户锁期待的接口,可以是抽象类,或者接口
- adapter: 适配器,实现target接口,组合adaptee的类
3. 代码实现适配器模式
这里拿键盘和电脑的适配为例
1.定义adaptee类keyboard
public class KeyBoard {
private Stirng name;
public KeyBoard(String name){
this.name = name;
}
public void type(){
System.out.printf("%s适配计算机接口就可以打字了... ", this.getName());
}
public void getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
2.定义客户所期待的接口Target: IComputer
/*
适配要求的接口
*/
public interface IComputer{
void userUSBConnectKeyBoard();
}
3. 定义适配器Adapter
public class Adapter implements IComputer{
private KeyBoard keyBoard;
public Adatper(KeyBoard keyBoard){
this.keyBoard = keyBoard;
}
@Override
public void useUSBConnectKeyBoard(){
//可以做一些适配工作,在进行键盘打字
// do something else ...
keyBoard.type();
// 后置处理一些适配工作...
}
}
4. 测试client
public class Client {
public static void main(String[] args) {
KeyBoard keyBoard = new KeyBoard("华硕键盘");
Adapter adapter = new Adapter(keyBoard);
adapter.useUSBConnectKeyBoard();
}
}
运行输出:
华硕键盘适配计算机接口就可以打字了.....
Process finished with exit code 0
4.思考:适配器可以和哪些设计模式组合使用呢?
好好思考,养成思考习惯,评论见