关联,聚合和组合示例

时间:2012-02-23 12:49:57

标签: oop

关联,聚合和组合

我想用简单的类来获得上面三个的插图。我从网上读过很多东西。结论是 -

聚合人们说 -

“A类包含另一个类的集合(比如B),如果A被销毁,它将不会影响其子集合,不会销毁集合。” 如果一个物体被摧毁但它的财产仍然存在或者它们的含义是怎样的呢?(我是否误解了某些东西)

Class A
{
List<B> lst;
}

Class B
{

}

1 个答案:

答案 0 :(得分:2)

考虑以下课程,

class Student
{
    public string Id { get; set; }
    public string Name { get; set; }
}

class Department
{
    public IList<Student> Students { get; set; }

    public void AddStudent(Student student)
    {
        //...
    }

    public void RemoveStudent(Student student)
    {
        //...
    }
}

如果您要将学生添加到部门,请致电AddStudent()并传递Student班级实例的参考(请注意,传递了参考) 。因此,当部门实例被销毁时(例如设置为null),那个Students实例的Department属性不再可用,但Student个实例已不再可用用于填充此列表仍未被破坏。因此,属性(在本例中为Student实例)仍然可以存在。

更多信息