【发布时间】:2021-03-22 16:53:01
【问题描述】:
我有这 2 个结构和 1 个类,我想将它们转换为 UML 类:
struct cat
{
std::string name;
int id;
};
struct dog
{
std::string name;
std::string owner;
int age;
};
class Pet
{
std::vector<cat> cats;
std::vector<dog> dogs;
//some methods
};
我做了这个: 提前谢谢你
【问题讨论】:
-
Here 你有一个非常相似的问题的答案。
-
在@sweak 的评论中(类似问题的公认答案始于对我的工具的引用:-))如果您学习 UML,我鼓励您首先手动完成,所以请使用类图提案编辑您的问题并解释您的问题(如果有的话)。
-
我想手动完成,但看不到 Pet 和其他 2 个结构之间的联系
-
@ben in Pet cats是cat类型的多值属性,所以类型为cat 和多重性
*或0..*如果您愿意,并且因为std::vector是什么,您也可以说该属性是 ordered,可能猫永远不会在 cats 中重复,因此您也可以说该属性是 unique(请参阅 omg.org/spec/UML/2.5.1 的 §9.5.4)。狗当然也一样。使用类图编辑您的问题,以检查您是否理解得很好 -
完成了,所以我的问题是:它是 Pet -> cat 之间的组合还是聚合?