Страницы

Поиск по вопросам

среда, 3 апреля 2019 г.

Объявление неизвестного типа в интерфейсе

Здравствуйте! Подскажите пожалуйста решение такой задачи: interface IModel{ public int getId(); }
class modelA implement IModel{ private int id; public int getId(){ return id; } }
class modelB implement IModel{ private String id; public String getId(){ return id; } } Как мне в интерфейсе сказать, что getId() может возвращать как int, так и String?


Ответ

Думаю, имеет смысл сделать два интерфейса, один из которых будет содержать int getId(), а второй String getId(). Если же помимо этого метода интерфейс должен содержать еще какие-то другие, то имеет смысл сделать один общий интерфейс с общими методами, а от него наследовать два интерфейса-потомка, у одного из которых будет метод int getId(), а у другого string getId(). Я надеюсь, Java позволяет наследовать интерфейсы друг от друга? Если же не позволяет, то можно вынести все общие методы в один интерфейс, а два отличающихся разнести по отдельным. Не думаю, что введение одного-двух новых интерфейсов будет трагедией, особенно на фоне предлагавшихся ранее манипуляций с приведением и/или выдиранием нужного значения из строки

Комментариев нет:

Отправить комментарий