【问题标题】:UML Interface has association with class?UML 接口与类有关联吗?
【发布时间】:2011-07-22 10:49:40
【问题描述】:

我有一个类(A 类),其中包含 B 类类型的对象。B 类有三个子类。

如果B类实际上是一个接口,然后我可以在接口和A类之间绘制一个聚合关联(并且三个子类都实现了接口)

B 类是否应该是一个实际的类,具有 3 个子类并且所有四个类(B 类 + 3 个子类)都实现接口(通过 B 类)?

【问题讨论】:

    标签: uml


    【解决方案1】:

    我想说问自己这些问题: 1. 你会创建 B 类的实例吗?如果是,那么它应该是普通班。如果不, 2. B 类是否应该包含派生类应该能够使用的任何功能?如果是,您应该创建一个其他类继承的抽象类,如果不是,则将其设为接口。

    【讨论】:

    • 那么如果我选择后一种接口选项,那么我仍然可以在A类和接口之间绘制一个聚合关联?
    • 是的,您应该能够做到这一点。请注意,我是 C# 程序员,因此根据您使用的语言可能会有所不同。
    【解决方案2】:

    如果 A 类包含 B 类类型的对象,则意味着 B 类已实例化,因此它不能是接口。

    【讨论】:

    • 不完全正确。它们可以作为子类实例化,但作为接口类型引用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多