Sobes.tech
Junior — Middle

Jak implementovat dědičnost obecného typu z rozhraní v programovacím jazyce?

sobes.tech AI

Odpověď od AI

V programovacích jazycích s podporou generických typů, například v Javě nebo Kotlinu, se dědičnost generického typu od rozhraní realizuje uvedením rozhraní s parametrem typu při deklaraci třídy.

Příklad v Javě:

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

class UserRepository implements Repository<User> {
    @Override
    public void save(User user) {
        // implementace uložení uživatele
    }

    @Override
    public User findById(int id) {
        // implementace hledání uživatele
        return new User();
    }
}

Zde třída UserRepository dědí z rozhraní Repository s konkrétním typem User.

Pokud má být třída také generická, parametr typu se předává dále:

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

Tímto způsobem je možné dosáhnout dědičnosti generického typu od rozhraní přes specifikaci parametrů typu při implementaci rozhraní.