package basic; /** * 课程类,与学科建立多对一关系 */ public class Course { private int id; private String name; private int credit; // 所属学科(多对一关系) private Subject subject; // 先修课程(一门课程可能有多门先修课程) private java.util.List prerequisiteCourses; public Course(int id, String name, int credit) { this.id = id; this.name = name; this.credit = credit; this.prerequisiteCourses = new java.util.ArrayList<>(); } // 添加先修课程 public void addPrerequisiteCourse(Course course) { if (course != null) { prerequisiteCourses.add(course); } } // 移除先修课程 public void removePrerequisiteCourse(Course course) { if (course != null) { prerequisiteCourses.remove(course); } } // 设置学科 public void setSubject(Subject subject) { this.subject = subject; } // Getters and Setters public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getCredit() { return credit; } public void setCredit(int credit) { this.credit = credit; } public Subject getSubject() { return subject; } public java.util.List getPrerequisiteCourses() { return prerequisiteCourses; } public void setPrerequisiteCourses(java.util.List prerequisiteCourses) { this.prerequisiteCourses = prerequisiteCourses; } @Override public String toString() { return "Course{" + "id=" + id + ", name='" + name + '\'' + ", credit=" + credit + ", subject=" + (subject != null ? subject.getName() : "null") + ", prerequisites.size()=" + prerequisiteCourses.size() + '}'; } }