为什么策略模式使用implements
而不是extends
?因为我会假设StrategyA is-a
策略库,它宁愿引导我扩展基本策略,而不是将其作为接口实现。
那么,将策略模式应用于“extends”会不会错?如果我在界面中使用它有什么好处?
答案 0 :(得分:2)
如果您没有公共代码放入您的策略基类型,那么您通过使用抽象类而不是接口来实现任何目标,除了限制此类API的客户端使用策略的专用类,其中可能希望单个类实现多个接口。
答案 1 :(得分:1)
根据我的信息:使用extends
,您将无法扩展任何其他类。
如果不是定义,则为什么不使用interface
。