Назад к вопросам
Junior — Middle
63
Как реализовать наследование универсального типа от интерфейса в языке программирования?
Компании, где спрашивали
Ubic
Ответ от нейросети
sobes.tech AI
В языках программирования с поддержкой универсальных типов (generics), например в Java или Kotlin, наследование универсального типа от интерфейса реализуется через указание интерфейса с параметром типа при объявлении класса.
Пример на Java:
interface Repository<T> {
void save(T item);
T findById(int id);
}
class UserRepository implements Repository<User> {
@Override
public void save(User user) {
// реализация сохранения пользователя
}
@Override
public User findById(int id) {
// реализация поиска пользователя
return new User();
}
}
Здесь класс UserRepository наследует интерфейс Repository с конкретным типом User.
Если же нужно, чтобы класс тоже был универсальным, то параметр типа передается дальше:
class GenericRepository<T> implements Repository<T> {
@Override
public void save(T item) { /* ... */ }
@Override
public T findById(int id) { /* ... */ return null; }
}
Таким образом, наследование универсального типа от интерфейса достигается через указание параметров типа при реализации интерфейса.