1.定义
适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
2.定义阐述
适配器提供客户类需要的接口,适配器的实现就是把客户类的请求转化为对适配者的相应接口的调用。也就是说:当客户类调用适配器的方法时,在适配器类的内部将调用适配者类的方法,而这个过程对客户类是透明的,客户类并不直接访问适配者类。因此,适配器可以使由于接口不兼容而不能交互的类可以一起工作。这就是适配器模式的模式动机。
代码实现
假如有一个班级 学生对象里面有班级名称和学生姓名
首先可以知道班级是固定的 姓名是不固定的
那么这里就可以使用适配器模式
新建一个学生班级类
public interface StudentClass {
//这是类Classs有的方法 班级名称
void SClass();
//这是类zhangsan没有的方法 姓名
void SName();
}
然后有一个班级类 因为班级是固定的 所以和StudentClass 方法一致 并且得到班级
public class Classs {
public void SClass(){
System.out.println("6年级1班");
}
}
然后在得到学生的班级和姓名 新建StudentClassAdapter类 继承calsss 实现StudentClass接口
public class StudentClassAdapter extends Classs implements StudentClass {
//
//由于类Classs没有方法SName
//因此适配器补充上这个方法
@Override
public void SName() {
System.out.println("我叫张三");
}
}
这样就可以创建多个StudentClassAdapter方法用来表示不同学生的姓名和同样的班级