Sobes.tech
Back to questions
Junior — Middle
62

Как реализовать наследование универсального типа от интерфейса в языке программирования?

Companies where asked
Ubic

Answer from AI

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; }
}

Таким образом, наследование универсального типа от интерфейса достигается через указание параметров типа при реализации интерфейса.