在Java中,接口可以合法地扩展一个接口。在UML中,这种关系是“扩展”关系(实线、关闭、未填充箭头)还是“实现”关系(虚线、关闭、未填充箭头)?我似乎找不到在线或者Fowler的书中有关这种关系的例子。
使用“extends”(实线、闭合、未填充箭头),这与Java使用"extends"和"implements"关键字的方式一致。 "extends" == UML泛化/特化关系 "implements" == UML实现关系 子接口是超级接口的特化,而不是实现。请参阅http://www.informit.com/articles/article.aspx?p=29224&seqNum=2。 .
void someMethod()
,而接口B包含方法String someMethod()
,那么就会触发噢唷时刻。请注意,问题在于返回类型;如果返回类型也相同,则一切都好。 - Daniel