uml中的关联和组合关系有什么区别..
例如..
class Student
{
Prof p;
//other features..
};
class Prof
{
Student s;
//other features..
};
上面的代码是c ++中组合关系的一个例子。
同样,关联关系的编码是什么......?
在uml中如何实施如何实现,以及如何找到首选的关系?
同样如何在这种关系中实现多重性概念......?
尽可能详细地用一些实时的例子解释这个事情......
提前谢谢你..
答案 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)