我了解继承在Java类关联中的作用是扩展功能。但是我不知道包含手段是什么,我已经研究过并且只能找到工具,但不确定是否包含手段。

这是UML设计。

StudentRecord(1)----包括----(1)Student
     FullTimeStudent(1)----继承---->(1)Student

最佳答案

从技术上来说,这是区别:

第一个:StudentRecord(1)----包括----(1)Student
这意味着StudentRecord包含类型为Student的成员变量,例如

public class StudentRecord {
    private Student student;
    // and other member variables and functions
}


第二:FullTimeStudent(1)----继承---->(1)Student
这意味着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);

关于java - 如何在Java类关联中实现“包含”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40896915/

10-09 15:54