设计模式之适配器模式

适配器模式是一种将不同接口的类组合在一起使用的设计模式,或者是将原有类组合进现有接口体系的设计模式,他是处理类于类之间的关系的,打个比方,usb充电线要与插座板一起使用就需要一个插头充当适配器;

适配器可以通过两种形式实现,一种是继承,一种是组合,下面对两种形式分别进行展示:

继承方式:

目标接口:

public interface Charger {
	void charge();
}

目标类:

public class USBLine {
	public void transfer(){
		System.out.println("使用USB线充电...");
	}
}

适配器:

public class Adapter extends USBLine implements Charger{

	@Override
	public void charge() {
		super.transfer();
	}

}

Client:

public class Client {
	public static void main(String[] args) {
		Adapter adapter = new Adapter();
		adapter.charge();
	}
}

这样adapter类可以认为是继承了Changer接口的USBLine类;


组合方式:

只需要对adapter类进行改造:

public class Adapter implements Charger{
    USBLine usbline;
    public Adapter(USBLine usbline){
        this.usbline = usbline;
    }
    @Override
    public void charge() {
        usbline.transfer();
    }

}

新的适配器类不再继承目标类,转而持有目标对象,可以达到同样的效果;

其实在大多数情况下,组合模式要优于继承模式,因为前者有更低的耦合性



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值