适配器模式
适配器模式就是将一个接口或者一个类转成另一个接口另一个类,让两个不兼容的类可以一起工作
适配器模式1、
// 等待被转换的类
public class Adaptee{
public void specificRequest(){
System.out.println("我等待被是配成目标接口");
}
}
public interface Target(){
void request(); // 目标类
}
public class ClassAdapter extends Adaptee implements Target{
@Override
public void request(){
super.specificRequest();
System.out.println("适配成功");
}
}
public class Client{
Target target = new ClassAdapter();
target.request();
}
适配器模式小实例,通过适配器模式把其他语言翻译成中文
public class Chinese{
public void sayChinese(){
System.out.println("我可以说中文");
}
}
public interface English{
void sayEnglish();
}
public class Translator extends Chinese implements English{
@Override
public void sayEnglish(){
System.out.println("I can speak English");
super.sayChinese();
}
}
public class Client{
public static void main(Stirng[] aegs){
English man = new Translator(); // 一个母语是英语的翻译官
man.sayEnglish(); // 说英语的同时,可以翻译成汉语
}
}
通过对象适配器模式,实现翻译的功能
public class Chinese{
public void sayChinese(){
System.out.println("我会说中文");
}
}
public interface English{
void sayEnglish();
}
public class Translator implements English{
private Chinese man;
public Translator(Chinese man){
this.man = man;
}
@Override
public void sayEnglish(){
man.sayChinese();
System.out.println("I can speak English");
}
}
public class Client{
public static void main(String[] args){
Chinese man = new Chinese();
English eMan = new Translator(man);
eMan.sayEnclish();
}
}
类适配器:由适配者继承或者实现两个不同的接口或者类,以达到两个不兼容的类一起工作的目的
对象适配器:内置一个要进行适配的对象,对象适配器可以更加形象的表现出,一个接口转为另一个接口的过程。