Абстрактный метод для подклассов «студент» и «преподаватель» - PullRequest
0 голосов
/ 04 декабря 2018

Я недавно получил назначение на Java.Задание составляет проект об образовании.Итак, я решил сделать урок об университете, в котором есть 2 подкласса: «студент» и «преподаватель».Теперь у меня проблема с абстрактным методом.Мой профессор сказал, что абстрактный метод должен быть для всех подклассов.Отсюда и проблема, с которой я сталкиваюсь сейчас.Я не знаю, какой абстрактный метод может быть реализован для подклассов «студент» и «преподаватель».Есть предложения?

# juniorCoder# New2Java

1 Ответ

0 голосов
/ 04 декабря 2018

«Студент» и «Лектор» - плохой пример наследования, потому что оно должно быть связано с конструкцией «IS A».Например:

class Phone { }
class IPhone extend Phone {}

IPhone IS 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() и т. Д.

...