Oop 关联、聚合和组合示例
关联、聚合和组合 我想用简单的类来说明以上三种方法。我从网上读了很多书。结论如下:- 人们总说- “类A包含另一个类(例如B)的集合,如果A被销毁,则不会影响其子级,因为该集合不会被销毁。” 如果一个物体被摧毁了,但它的财产仍然存在,或者它们的意思是什么,这怎么可能呢Oop 关联、聚合和组合示例,oop,Oop,关联、聚合和组合 我想用简单的类来说明以上三种方法。我从网上读了很多书。结论如下:- 人们总说- “类A包含另一个类(例如B)的集合,如果A被销毁,则不会影响其子级,因为该集合不会被销毁。” 如果一个物体被摧毁了,但它的财产仍然存在,或者它们的意思是什么,这怎么可能呢 A类 { 列表lst; } B类 { } 考虑以下类别 class Student { public string Id { get; set; } public string Name { get; set; }
A类
{
列表lst;
}
B类
{
}
考虑以下类别
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)
{
//...
}
}
班级学生
{
公共字符串Id{get;set;}
公共字符串名称{get;set;}
}
班级部
{
公共IList学生{get;set;}
公立学校学生(学生)
{
//...
}
公共无效撤销学生(学生)
{
//...
}
}
如果要将学生添加到系中,请调用AddStudent()
,并传递student
类实例的引用(请注意,传递了引用)。因此,当部门实例被销毁时(例如设置为null
),则该department
实例的Student
属性不再可用,但用于填充此列表的Student
实例不会被销毁。因此,在本例中,Student
实例仍然可以存在
更多信息
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)
{
//...
}
}