Здравствуйте!
Подскажите пожалуйста решение такой задачи:
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 позволяет наследовать интерфейсы друг от друга? Если же не позволяет, то можно вынести все общие методы в один интерфейс, а два отличающихся разнести по отдельным. Не думаю, что введение одного-двух новых интерфейсов будет трагедией, особенно на фоне предлагавшихся ранее манипуляций с приведением и/или выдиранием нужного значения из строки
Комментариев нет:
Отправить комментарий