我最近收到了Java作业。作业正在制定有关教育的项目。因此,我决定开设一门关于大学的课程,该课程有两个子类别:“学生”和“讲师”。现在,我对抽象方法有疑问。我的教授说抽象方法必须适用于所有子类。因此,我现在面临的问题。我不知道可以为子类“学生”和“讲师”实现哪种抽象方法。有什么建议吗?
#juniorCoder
#new2Java
答案 0 :(得分:0)
“学生”和“讲师”是继承的不良示例,因为它应与“ IS A”构造关联。例如:
class Phone { }
class IPhone extend Phone {}
IPhone
是与继承思想完全匹配的Phone
。
就您而言,Student
不是University
因此,我建议您再制作University
的另一个子类。例如一些具体的大学。这样会更容易提出抽象方法。
abstract class University {
abstract String getLocation(); // get location of concrete universtity
}
class MIT extends University {
@Override
public String getLocation() {
return "Cambridge, MA USA";
}
}
class Standford extends University {
@Override
public String getLocation() {
return "450 Serra Mall, Stanford, CA 94305, USA";
}
}
您还可以添加适用于每所大学的任何方法,例如getRating()
,getDescription()
等。