interface B implement A;
interface C implement A;
classB implement B;
classC implement C;
此时
A a= new ClassB();
A a= new ClassC();
可以用a调用B和C从A中继承过来的方法
但是如果有时候B或者C当中有一个要扩展, 不得不在A中定义新的方法,
能否实现扩展B后, 依然能用A调用ClassB 和ClassC中新扩展的方法。
其实就是想连续使用两次策略模式
interface B implement A;
interface C implement A;
classB implement B;
classC implement C;
此时
A a= new ClassB();
A a= new ClassC();
可以用a调用B和C从A中继承过来的方法
但是如果有时候B或者C当中有一个要扩展, 不得不在A中定义新的方法,
能否实现扩展B后, 依然能用A调用ClassB 和ClassC中新扩展的方法。
其实就是想连续使用两次策略模式
8 回答6.8k 阅读
4 回答1k 阅读✓ 已解决
4 回答640 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答657 阅读✓ 已解决
2 回答1.2k 阅读
扩展IB或IC为什么要在A中定义新方法呢? 扩展不应该修改原有接口.
IB和IC都是extend IA吧? 然后CB实现IB, CC实现IC.
使用IB扩展IA时, IA是感知不到这个扩展的, 当然也就不能通过IA调用IB的方法了.