Junior — Middle
Como implementar a herança de um tipo genérico a partir de uma interface numa linguagem de programação?
sobes.tech IA
Resposta da IA
Em linguagens de programação com suporte para tipos genéricos, como Java ou Kotlin, a herança de um tipo genérico de uma interface é feita especificando a interface com um parâmetro de tipo na declaração da classe.
Exemplo em Java:
interface Repository<T> {
void save(T item);
T findById(int id);
}
class UserRepository implements Repository<User> {
@Override
public void save(User user) {
// implementação para guardar um usuário
}
@Override
public User findById(int id) {
// implementação para procurar um usuário
return new User();
}
}
Aqui, a classe UserRepository herda da interface Repository com um tipo específico, User.
Se desejar que a classe também seja genérica, o parâmetro de tipo é passado adiante:
class GenericRepository<T> implements Repository<T> {
@Override
public void save(T item) { /* ... */ }
@Override
public T findById(int id) { /* ... */ return null; }
}
Dessa forma, a herança de um tipo genérico de uma interface é alcançada especificando os parâmetros de tipo na implementação da interface.