在创建必须验证条件的对象时,我一遍又一遍地提出了这个问题。检查应该在尝试创建对象之前还是在对象本身的构造函数中进行?
为了更好地说明它,这里有一个例子:假设我们有一个学生经理,一位教授,他将学生对象添加到他们的列表中。创建新的学生对象时,我们必须检查他的名字是否最多 20 个字符。
class Professor{
LinkedList<Student> studentsList;
Professor(){
studentsList = new LinkedList<Student>();
}
public Student addStudent(String studentName){
// Place 1
if (studentName.length <= 20)
studentList.add(new Student(studentName));
else
// Do another thing
}
}
class Student {
String name;
Student(String studentName){
// Place 2
if (studentName.length <= 20)
name = studentName);
else
// Don't create the object and throw exception
}
}
所以基本上我的问题是,在尝试创建学生之前,应该在“地点 1”中进行检查,还是在学生的构造函数中的“地点 2”中进行检查。
慕婉清6462132
动漫人物
相关分类