интерфейс переопределяет метод другого интерфейса - PullRequest
0 голосов
/ 28 января 2019

дано

   public interface Crud<T> {
        public T get();
        public T add(String json);
        public T update(String json);
        public T delete(String json);
    }

   public interface AddressCrud extends Crud<AddressResponse> {
        public AddressResponse get();
        public AddressResponse add(String json);
        public AddressResponse update(String json);
        public AddressResponse delete(String json);
    }

Если класс реализует AddressCrud?Придется ли нам реализовывать 4 метода или 8 методов?

Теперь, если мы напишем:

   public interface AddressCrud extends Crud<AddressResponse> {
        @Override
        public AddressResponse get();
        @Override
        public AddressResponse add(String json);
        @Override 
        public AddressResponse update(String json);
        @Override
        public AddressResponse delete(String json);
    }

Я знаю, что @Override используется для переопределения реализации метода, но в случаеинтерфейс @Override имеет смысл?

Теперь, если класс реализует AddressCrud в этом случае?Придется ли нам реализовывать 4 метода или 8 методов?

update: для вашей информации: я использую симулированные клиенты, и мне нужно объявить интерфейс для каждого клиента .. У меня есть несколько симулированных клиентов ... есть аннотациякоторые отличаются между интерфейсами .. вот почему я пытаюсь сделать общий интерфейс, который я назвал Crud

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Тег @Override не имеет смысла в вашем случае.Кстати, классы реализации для AddressCrud будут реализованы для 4 методов.

0 голосов
/ 28 января 2019

Вам не нужно объявлять какой-либо метод в AddressCrud.Достаточно просто расширить Crud<AddressResponse>.Вот и весь смысл в дженериках.На самом деле вам даже не нужно объявлять AddressCrud, вы можете просто реализовать класс Crud<AddressResponse>.В любом случае у вас будет только 4 метода для реализации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...