狂想曲- uml类关系

Rhapsody-UML Class Relations

本文关键字:关系 uml 狂想曲      更新时间:2023-10-16

uml..中的关联关系和组合关系有什么区别
例如. .

class Student
{
Prof p;
//other features..
};
class Prof
{
Student s;
//other features..
};

上面的代码是c++中复合关系的一个例子。
同样,关联关系的编码是什么?
在uml中工作时,如何实现这个以及如何找到哪个关系应该是首选?
以同样的方式如何实现多样性概念在这个关系的…?
用一些实时的例子尽可能详细地解释这件事.....

组合是一种特殊的二进制关联

在A由B组成的情况下,A实例负责创建和销毁B实例;这也意味着一个B的实例最多只能构成一个a的实例。

在你的代码两个类使用组合,但有一个错误,因为有一个循环组合(学生需要教授和教授需要学生)。

通常教授与许多学生有关系,学生与许多教授有关系;在这种情况下,您可以在两个类中使用聚合,其多重性大于1。

class Student;  // Forward declaration
class Prof {
    std::vector<Student*> _students;
};
class Student {
    std::vector<Prof*> _profs;
};

请参见聚合、组合和依赖之间的区别。和https://stackoverflow.com/search?q=aggregation +和+作文