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中新扩展的方法。
其实就是想连续使用两次策略模式
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
扩展IB或IC为什么要在A中定义新方法呢? 扩展不应该修改原有接口.
IB和IC都是extend IA吧? 然后CB实现IB, CC实现IC.
使用IB扩展IA时, IA是感知不到这个扩展的, 当然也就不能通过IA调用IB的方法了.