Sobes.tech
Junior — Middle

Hoe implementeer je overerving van een generiek type van een interface in een programmeertaal?

sobes.tech AI

Antwoord van AI

In programmeertalen die ondersteuning bieden voor generieke types, zoals Java of Kotlin, wordt het overerven van een generiek type van een interface gedaan door de interface met een typeparameter te specificeren bij de klasse-verklaring.

Voorbeeld in Java:

interface Repository<T> {
    void save(T item);
    T findById(int id);
}

class UserRepository implements Repository<User> {
    @Override
    public void save(User user) {
        // implementatie voor het opslaan van een gebruiker
    }

    @Override
    public User findById(int id) {
        // implementatie voor het zoeken van een gebruiker
        return new User();
    }
}

Hier erft de klasse UserRepository van de interface Repository met een specifiek type, User.

Als de klasse ook generiek moet zijn, wordt de typeparameter doorgegeven:

class GenericRepository<T> implements Repository<T> {
    @Override
    public void save(T item) { /* ... */ }
    @Override
    public T findById(int id) { /* ... */ return null; }
}

Op deze manier wordt het overerven van een generiek type van een interface bereikt door de typeparameters te specificeren bij de implementatie van de interface.