子类“学生”和“讲师”的抽象方法

时间:2018-12-04 13:14:55

标签: java methods abstract

我最近收到了Java作业。作业正在制定有关教育的项目。因此,我决定开设一门关于大学的课程,该课程有两个子类别:“学生”和“讲师”。现在,我对抽象方法有疑问。我的教授说抽象方法必须适用于所有子类。因此,我现在面临的问题。我不知道可以为子类“学生”和“讲师”实现哪种抽象方法。有什么建议吗?

#juniorCoder
#new2Java

1 个答案:

答案 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()等。