Как переопределить универсальный метод в подклассе JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Как переопределить универсальный метод в подклассе Java

Сообщение Anonymous »

Я пытаюсь провести рефакторинг некоторого кода, чтобы уменьшить дублирование кода.
В настоящее время у меня есть сервис, который принимает собственный класс Payload и возвращает собственный класс Response. И в настоящее время это делает не один сервисный класс, а около 5 или 6. Таким образом, это приводит к МНОГО дублирования кода, даже несмотря на то, что тело методов буквально одинаковое, только тип возвращаемого значения разные.
Например:

Код: Выделить всё

public class ServiceA {
ResponseA getResponse(PayloadA){...}
}
public class ServiceB {
ResponseB getResponse(PayloadB){...}
}
public class ServiceC {
ResponseC getResponse(PayloadC){...}
}
Там, где тела метода буквально слово в слово одинаковы, но поскольку это почтовый запрос с использованием WebClient, где методы заканчиваются ObjectMapper mapper = new ObjectMapper(); return mapper.readValue(response, new TypeReference() {}); мы просто копируем метод снова и снова.
Я пытался реализовать абстрактный суперкласс называется RestService и имеет два пустых интерфейса, называемых RestResponse и RestPayload, которые каждая служба может реализовать самостоятельно, но как мне заставить класс службы возвращать свой собственный тип Response, а не тип RestResponse, который является просто пустым интерфейсом?

Подробнее здесь: https://stackoverflow.com/questions/787 ... class-java

Вернуться в «JAVA»