Rhapsody-UML类关系

时间:2014-08-04 11:48:27

标签: c++ uml rhapsody class-relationship

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

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

上面的代码是c ++中组合关系的一个例子。
同样,关联关系的编码是什么......? 在uml中如何实施如何实现,以及如何找到首选的关系? 同样如何在这种关系中实现多重性概念......? 尽可能详细地用一些实时的例子解释这个事情......
 提前谢谢你..

2 个答案:

答案 0 :(得分:0)

构图是一种特殊的二元关联

如果A由B组成,则A实例负责创建和销毁B实例;这也意味着B的一个实例最多可以组成一个A实例。

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

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

class Student;  // Forward declaration

class Prof {
    std::vector<Student*> _students;
};

class Student {
    std::vector<Prof*> _profs;
};

答案 1 :(得分:0)