面向接口编程适配器模式

public interface cellphone {

	public void call();

	public void sensms();

}
public class huawei implements cellphone{

	@Override
	public void call() {
		System.out.println("huawei call");
	}

	@Override
	public void sensms() {
		System.out.println("huawei sendsms");
	}
    
}
public class iphone implements cellphone{

	@Override
	public void call() {
		System.out.println("iphone call");
	}

	@Override
	public void sensms() {
		System.out.println("iphone sendsms");
	}
	
	
	public void play(){
		System.out.println("iphone play");
	}
 
}
public class shanzhai {
	
	public void szcall(){
		System.out.println("sz calling");
	}
	public void szsendsms(){
		System.out.println("sz sendsms");
	}

}
public class szAdapter implements cellphone{
	
	private shanzhai sz;
	
	public szAdapter(shanzhai sz){
		this.sz = sz;
	}

	@Override
	public void call() {
		sz.szcall();
	}

	@Override
	public void sensms() {
		sz.szsendsms();
	}

}
public class testapdater {
	
	
	public static void main(String[] args) {
		cellphone c = new szAdapter(new shanzhai());
		c.call();
	}
	

}

 首先假设一个场景,比如我们是卖手机的,如果顾客来了挑选手机,需要一个个拿不同型号的手机去演示功能

为了简便,我们可以制作一个接口,在接口一端连接手机,另一端控制演示手机的各个功能

手机都有发短信、打电话两个基本功能,我们可以将接口设置为这两个功能

 

用一个适配器类 实现原有类接口的 然后将不适配的类作为这个类的私有属性,然后在原有方法中去实现

猜你喜欢

转载自liuyifan789.iteye.com/blog/2304003
今日推荐