原创链接:设计模式——适配器模式
2021-07-04 晚23:24 🌃
**适配器模式(adapter):**将一个类接口转换成客户希望的另一个接口,adapter使得原本由于接口不兼容而不能一起工作的那些类,可以一起工作。
举例: 数据线转接口的作用,插头不可更改,手机充电头不可更改,便造一个转接口来适配。
应用场景:
1、mybatis的日志模块,适用不同的日志模块
2、两方接口都不能更改
public abstract class Player {
/**
* fixme 这是所希望的类接口,可以是具体的抽象类,也可以是具体的抽象方法
*/
protected String name;
public Player(String name) {
this.name = name;
}
/**
* 进攻抽象方法
*/
public abstract void attack();
/**
* 防守
*/
public abstract void defense();
}
public class ForeignCenter {
/**
* fixme 需要被翻译的类,以及方法
*/
private String name;
public void 进攻() {
System.out.println();
}
public void 防守() {
System.out.println();
}
}
public class Translator extends Player {
/**
* fixme 把需要翻译的类全部引用进来
*/
private ForeignCenter foreignCenter = new ForeignCenter();
public Translator(String name) {
super(name);
}
/**
* fixme 这里翻译的为抽象类里的方法
*/
@Override
public void attack() {
foreignCenter.进攻();
}
@Override
public void defense() {
foreignCenter.防守();
}
}