我理解继承在Java类关联中做什么,这是扩展功能。但我不知道包含哪些方法,我已经研究过,只能找到工具,但不确定这是什么包括手段。
这是UML设计。
StudentRecord(1)----包括----(1)学生 FullTimeStudent(1)----继承----> (1)学生
答案 0 :(得分:3)
技术上,区别在于:
第一个:StudentRecord(1)----包括----(1)学生 这意味着StudentRecord包含一个类型为Student的成员变量,类似于
public class StudentRecord {
private Student student;
// and other member variables and functions
}
第二:FullTimeStudent(1)----继承----> (1)学生 这意味着FullTimeStudent是一名学生。像:
public class FullTimeStudent extends Student {
// override stuff, add new members
}
看到区别?一个说"包含" ,而另一个"是" 。 即你可以这样写:
Student s = new FullTimeStudent();
和
StudentRecord sr = new StudentRecord(student);
// given you have such a constructor, or:
studentRecord.setStudent(s);