设计模式--适配器模式
适配器模式跟现实世界中的适配器一样,都是用于转化达到某种目的。如现实世界中的电源适配器,将220v电源转化成需要的电压。
面向对象的适配器。假设已有一个软件系统,你向往它能和一个新的厂商的类库搭配使用,但是这个新厂商所涉及出来的接口不同于
旧厂商的接口。你不想改变现有的代码,也不能改变厂商的代码,所以需要写一个类,将新厂商的接口转换成你所期望的接口。
就如,如果它走起来像只鸭子,叫起来像只鸭子,那么它可能是一只包装了鸭子适配器的火鸡。。。
public interface Duck{
	public void quack();
	public void fly();
}
//鸭子类
public class MallardDuck implements Duck{
	public void quack(){
		System.out.println("Quack");
	}
	public void fly(){
		System.out.println("I am flying");
	}
}
//火鸡接口
public interface Turkey{
	public void gobble();
	public void fly();
}
public class WildTurkey implements Turkey{
	public void gobble(){
		System.out.println("Goble gobble");
	}
	public void fly(){
		System.out.println(" I am fly a short distance");
	}
}
//火鸡适配器
public class TurkeyAdapter implements Duck{
	Turkey turkey;
	public TrukeyAdapter(Trukey turkey){
		this.turkey = turykey;
	}
	public void quack(){
		turkey.gobble();
	}
	public void fly(){
		trukey.fly();
	}
}
//测试类
public class DuckTestDrive{
	public static void main(String args[]){
		MallardDuck duck = new MallardDuck();
		WildTurkey turkey = new WildTurkey();
		Duck turkeyAdapter = new TrukeyAdapter(trukey);
		testDuck(duck);
		testDuck(turkayAdapter);
	}
	static void testDuck(Duck duck){
		duck.quack();
		duck.fly();
	}
}
适配器定义:将一个类的接口,转换成客户期望的另一个接口。适配器让原来接口不兼容的类可以合作无间。
当需要一个现有的类而其接口并不符合你的需要时,就使用适配器。
适配器改变接口以符合客户的期望。
实现一个适配器可能需要一番功夫,也可能不费功夫,视目标接口的大小与复杂程度而定。
适配器将一个对象包装起来以改变接口;装饰者将一个对象包装起来以增加新的行为和责任。
                    
                
                
            
        
浙公网安备 33010602011771号