方式一:类适配器
旧的API
新的API
适配器(注意这里,适配器类是分别继承了新的和老的类,并重写老的类的API)
main函数
方式二:对象适配器
旧的API
新的API
适配器
主函数
总结:
类适配器有以下特点:
1、适配器类继承新的接口类,适配器类可以对继承而来的类的方法进行重写操作,也就是重定义。
2、如果新的接口类中又添加了新的抽象方法,那么适配器中也需要进行相应的改动,这样适配器和新接口类的耦合度就很高。
3、如果新接口类还有子类,在适配器中想调用新接口类的子类的方法,这是不可能的。
对象适配器有以下特点:
1.新接口构造起来麻烦时,就用组合的方式。
2.当新接口类中添加新的方法时,适配器只管使用,不用修改和添加任何内容。
3.在适配器中可以通过多态使用新接口类的子类的方法。
一句话:
对象适配器的耦合度比较低,建议使用对象适配器。
在我们实际项目中,也是如此,能使用对象组合的方式,就不使用多继承的方式。