适配器模式------结构性模式
适配就是从源到目标的适配,而当中链接两者关系的就是适配器,它负责把源过渡到目标。一般是为不破坏原有结构才使用适配器,
转:
分成两个类型:类适配器和对象适配器。适配器就是可以将一个事物适配成另一个事物。
先说面向类的适配器模式:单一的为某一个类实现适配
源:
public class Person{
private String name;
private String sex;
private int age;
puublic void spaekJapanese(){
System.out.println("I can speak Japanese!");
}
public void speakEnglish(){
System.out.println("I can speak English!");
}
...//以下省略成员变量的get和set方法
}
目标接口
public interface Job{
public abstract void spaekJapanese();
public abstract void speakEnglish();
public abstract void spaekFrench();
}
适配器
public class Adapter extends Person implements Job{
public void spaekFrench(){
}
}
类只能继承一个,所以这个适配器只为这个person服务。
##############################对象适配器##################
假如一个适配器需要适配的的多个对象,可以将这些类引入到适配器中,然后通过调用这个对象的方法就可以。
public class Animal {
public void run{
System.out.print("run");
}
}
publiic interface Itarget{
public void run();
public void fly();
}
//通过构造函数引入源对象,并实现目标方法
public class Adapter implements Itarget{
private Animal animal;
public Adapter(Animal animal){
this.animal =animal ;
}
public void fly(){
.....
}
public void run(){
......
}
}