Sobes.tech
Junior — Middle

Hogyan valósítható meg egy általános típus öröklése egy interfészből egy programozási nyelvben?

sobes.tech MI

Válasz az MI-től

Programozási nyelvekben, amelyek támogatják az általános típusokat (például Java vagy Kotlin), az általános típus öröklése egy interfészből úgy valósul meg, hogy a class deklarációjában megadjuk az interfészt típusparaméterrel.

Java példában:

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

class UserRepository implements Repository<User> {
    @Override
    public void save(User user) {
        // felhasználó mentésének megvalósítása
    }

    @Override
    public User findById(int id) {
        // felhasználó keresése
        return new User();
    }
}

Itt a UserRepository osztály örökli a Repository interfészt egy konkrét típus, User, megadásával.

Ha az osztálynak is általánosnak kell lennie, akkor a típusparamétert tovább lehet adni:

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

Így az általános típus öröklése az interfészből a típusparaméterek megadásával érhető el az interfész implementálásakor.