Sobes.tech
Junior — Middle

Kuidas rakendada üldise tüübi pärandamist liidese kaudu programmeerimiskeeles?

sobes.tech AI

Vastus AI-lt

Programmeermiskeeltes, mis toetavad üldtüüpe (generics), näiteks Java või Kotlin, saavutatakse üldtüübi pärimine liidese kaudu, määrates liidese tüüpparameetri klassi deklaratsioonis.

Näide Java keeles:

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

class UserRepository implements Repository<User> {
    @Override
    public void save(User user) {
        // kasutaja salvestamise rakendus
    }

    @Override
    public User findById(int id) {
        // kasutaja otsimise rakendus
        return new User();
    }
}

Siin pärib UserRepository klass liideselt Repository konkreetse tüübi, User.

Kui klass peab olema ka üldine, siis tüüpparameeter edastatakse edasi:

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

Sellisel viisil saavutatakse üldtüübi pärimine liidese kaudu, määrates tüüpparameetrid liidese rakendamisel.