Использование интерфейса - хороший подход для создания абстракции, и я обычно стараюсь использовать его, если это возможно. Но на этот раз у меня немного другой случай, и я не уверен, что это хорошая практика.
У меня есть два разных класса, которым нужен какой-то метод запроса с одинаковой сигнатурой. Скажем, MyString и MyInteger.
Я думал определить интерфейс одним методом:
public interface MyInterface{
// no type is specified for the list, because each implementation will have different type of object
List query();
}
Так что в основном мне нужно реализовать два разных класса, которые реализуют интерфейс выше. Первый получит List<String>
, а второй получит List<Integer>
результат от метода запроса.
Дело в том, что мне не нравится не указывать универсальный тип в интерфейсе, потому что мне нужно будет привестипотом.
Так имеет ли смысл использовать здесь интерфейс или лучше реализовать два отдельных класса с одинаковой сигнатурой метода без общего интерфейса?