У меня проблема с машиной, и вот одна из тех хитрых частей, которая меня немного смущает.
Вот пример использования:
Студент записывается в секцию.
Система проверяет отсутствие графиков конфликтов.
Система проверяет, что учащийся выполнил необходимые предварительные условия.
Итак, я создал 4 объекта: «Студент», «Раздел», «Расписание» и «Тема».
Я покажу вам только свой «предметный» класс, потому что именно здесь я запутался.
Часть, в которой я запутался, такова:
Система проверяет, что учащийся выполнил необходимые предварительные условия.
Как мне правильно смоделировать это?
У меня есть предварительное условие, которое является предметом объекта, но что, если у субъекта нет предусловия? Я сомневаюсь, потому что я не могу просто сделать что-то вроде:
Subject math01 = new Subject(1,"math01",null);
Я думаю, что передача нуля на объектах неуместна. Я хотел бы избежать исключений нулевого указателя. Как мне решить это? :(
Я думаю, что я делаю это неправильно.
public class Subject {
//Each subject is worth three (3) units.
private int units = 3;
private int subjectID;
private String subjectName;
private Subject prerequisite; //<----How do I express that a subject has a prerequisite? Am I doing this right?
public Subject(int subjectID, String subjectName, Subject prerequisite) {
this.subjectID = subjectID;
this.subjectName = subjectName;
this.prerequisite = prerequisite;
}
public int getUnits() {
return units;
}
public int getSubjectID() {
return subjectID;
}
public String getSubjectName() {
return subjectName;
}
public Subject getPrerequisite(){
return prerequisite;
}
public boolean conflictWith(Subject newSubject){
return (this.subjectID == newSubject.getSubjectID());
}
}