【发布时间】:2016-06-27 19:14:29
【问题描述】:
我是java和编程的新手,今天我遇到了这3个关系的问题。不幸的是,从我的材料中我无法理解如何实现它们。我希望有人可以为我澄清这一点。
1) 关联 例如,我有 2 节课。学生和学校,这是与多重性 1:1 的关联,我知道在每个班级中,我都有指向另一个班级的属性。但我的问题是,如果在构造函数中声明这些引用变量?我是否也为他们创建 set 和 get 方法?如果该关联具有多重性 1:N 怎么办?我有引用变量,它指的是列表,我是否也在构造函数中以某种方式声明它?我是否为该数组列表创建 set 和 get 方法?
2) 聚合 据我了解,就Java聚合的实现而言,只不过是单向关联。所以引用变量只在一个类中。我的假设是真的吗?
3) 作文 我知道组合是特殊类型的聚合。所以我认为,就 Java 中的实现而言,它也将是单向关联,因此实现将是相同的,唯一不同的是我们如何在编程之外识别这种关系。
如果有人可以帮助我,我将不胜感激
对不起,我没有举出任何例子,真实的是它可以帮助我描述我的想法。
假设我们有课,学生
public class Student {
private String name;
private School school;
}
public Student(String namei, School school) {
this.name = name;
this.school = school;
}
如果班级学校,将有一个属性私人学生学生,这将是一个协会。但是,如果不是,并且唯一的参考属性将在 Student 类中,那么如果我说这些类之间的关系是 Aggregation 是对的吗?
如果我们稍微改变一下,我们会说,那所学校需要有学生。所以我们唯一改变的就是上下文,我们对主题的看法,没有别的,如果我们这样做,如果我说关系是组合,我会是对的吗?
【问题讨论】:
-
最好向我们展示您对关联、聚合和组合的示例的代码尝试。
-
相关,虽然我不相信这是一个骗局(尽管请随意投递简历):stackoverflow.com/questions/885937/…
标签: java associations aggregation composition