Junior — Middle
Ako implementovať dedičstvo univerzálneho typu od rozhrania v programovacom jazyku?
sobes.tech AI
Odpoveď od AI
V programovacích jazykoch s podporou pre generické typy (napríklad v Jave alebo Kotlin) sa dedičstvo generického typu od rozhrania realizuje uvedením rozhrania s parametrom typu pri deklarácii triedy.
Príklad v Jave:
interface Repository<T> {
void save(T item);
T findById(int id);
}
class UserRepository implements Repository<User> {
@Override
public void save(User user) {
// implementácia pre uloženie používateľa
}
@Override
public User findById(int id) {
// implementácia pre vyhľadanie používateľa
return new User();
}
}
Tu trieda UserRepository dedí z rozhrania Repository s konkrétnym typom User.
Ak má byť trieda tiež generická, parameter typu sa odovzdáva ďalej:
class GenericRepository<T> implements Repository<T> {
@Override
public void save(T item) { /* ... */ }
@Override
public T findById(int id) { /* ... */ return null; }
}
Týmto spôsobom sa dosahuje dedičstvo generického typu od rozhrania prostredníctvom špecifikácie parametrov typu pri implementácii rozhrania.