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í.