小编fel*_*imm的帖子

UML 设计类图:以另一个类作为属性的类?

我很难弄清楚如何将某个场景建模为 UML 设计类图。

假设我有以下情况:

我有一个名为 CPoint 的类,它有两个属性:x 和 y(R2 平面中的坐标)。此外,我有一个名为 CLine 的类,它应该有两个 CPoint 作为属性。

这是非常直接的代码(我将在我的示例中使用 C++):

class CPoint{
    float x;
    float y;
    //Constructor, gets and sets here
}
Run Code Online (Sandbox Code Playgroud)

对于 CLine:

class CLine{
    CPoint p1;
    CPoint p2;
    //Constructor, gets and sets here
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:我如何在 UML 中为这样的东西建模?

我想到了类似的事情:

尝试 1

但是后来有人告诉我这违反了面向对象建模的原则,所以我这样做了:

尝试 2

但这根本不能说服我。此外,我正在阅读有关设计模式的内容,并在阅读有关单身人士的信息时来到了这个 UML 设计:

单例设计模式

这让我觉得我最初的方法是正确的。此外,如果我将其视为 C++ 程序,我可以看到我的第一种方法是可以的。但是,在 Java 中,我仍然必须通过new CPoint(0, 0)在 CLine 的构造函数中执行来创建对象。我真的很困惑。

那么,我该如何模拟这种情况呢?当我尝试模拟情况时,我是否可能过于具体?

提前致谢!这不是让我晚上睡觉

oop uml class-diagram

5
推荐指数
1
解决办法
6699
查看次数

标签 统计

class-diagram ×1

oop ×1

uml ×1