适配器

适配器

适配器模式:将一个现有类实现的功能接口转变为客户希望的接口

场景:你想使用一个已经存在的类,但是这个类的接口不符合需求,所以需要适配

2中实现:一种是继承,一种是委托,先来看看继承

   

第一步:系统现有功能

package  com.google.desginpattern.adapter;
/**
 * 现有系统提供的功能
 * 
 * 
@author  Administrator
 * 
 
*/
public   class  BMWCar {
public   void  quickDriver() {
System.out.println(
" 宝马太快 " );
}
}

 

第二步:客户需要的接口

package  com.google.desginpattern.adapter;
/**
 * 客户需要的接口
 * 
@author  Administrator
 *
 
*/
public   interface  Car {
public   void  driver();
public   void  brake();
}

 

第三步:实现客户需要的功能

package  com.google.desginpattern.adapter;
/**
 * 匹配客户需求的实现
 * 
@author  Administrator
 *
 
*/
public   class  CarAdapter  extends  BMWCar  implements  Car {
@Override
public   void  brake() {
System.out.println(
" 刹车 " );
}
@Override
public   void  driver() {
quickDriver();
}
}

 

测试类:

 

package  com.google.desginpattern.adapter;


public   class  Test  {

public static void main(String[] args) {


Car car 
= new CarAdapter();

car.brake();

car.driver();

}


}

输出:

刹车

宝马太快

如果是委托的方式,改写adapter

package  com.google.desginpattern.adapter;
/**
 * 匹配客户需求的实现
 * 
 * 
@author  Administrator
 * 
 
*/
public   class  CarAdapter  implements  Car {
private  BMWCar car;
@Override
public   void  brake() {
System.out.println(
" 刹车 " );
}
@Override
public   void  driver() {
car.quickDriver();
}
public  BMWCar getCar() {
return  car;
}
public   void  setCar(BMWCar car) {
this .car  =  car;
}
}

 

你可能感兴趣的:(适配器)