【问题标题】:Classes that inherit from interfaces but implement additional methods in UML diagram从接口继承但在 UML 图中实现附加方法的类
【发布时间】:2021-11-13 10:45:06
【问题描述】:

我必须为一个项目制作一个 UML 类图,在该项目中我使用 RL 算法的抽象方法实现一个接口。我实现了几种实现接口的算法,但根据算法实现了其他方法。如何在 UML 图中捕获它?我考虑过包含一个通用名称“算法”以及属性和方法的框 “算法特定的属性/方法”,在 UML 框架中是否正确?

【问题讨论】:

    标签: class interface uml class-diagram


    【解决方案1】:

    一个类不应该继承一个接口,而是实现(也就是实现)它。在图形上,您将使用与继承相同的符号,但使用虚线:

    您的案例是接口实现的经典案例,例如在strategy pattern 中。添加其他操作(也称为方法)的事实是完全正常的,不需要任何特殊的。

    如果您使用抽象类而不是接口,那么您可以使用继承:

    【讨论】:

    • 接口是由关键字«interface»表示的元类。泛化继承了特征(第 136 页)。但它确实继承了元类。所以它保持原样。但是,类可以从接口继承。这是否有用可能取决于?
    • @qwerty_so 很有趣。我更关心有用性和模糊性。通常接口从其他接口继承,类从类继承。我知道一个类可以从接口继承,但这意味着什么?例如,从接口继承但不实现接口所有操作的类的语义是什么?
    • 是的。这也是我最后的问号……
    • @qwerty_so 我更新了措辞以使用“不应该”而不是“不”,以反映您的评论,以及 RFC 2119 的含义。
    猜你喜欢
    • 2016-08-09
    • 2018-05-28
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 2016-05-11
    相关资源
    最近更新 更多