Sobes.tech
Junior — Middle

Kā īstenot vispārēja tipa mantošanu no saskarnes programmēšanas valodā?

sobes.tech AI

Atbilde no AI

Programmēšanas valodās, kas atbalsta ģeneriskos tipus (piemēram, Java vai Kotlin), ģeneriskā tipa mantošana no saskares tiek īstenota, norādot saskari ar parametru tipa deklarācijā.

Piemērs Java:

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

class UserRepository implements Repository<User> {
    @Override
    public void save(User user) {
        // lietotāja saglabāšanas īstenojums
    }

    @Override
    public User findById(int id) {
        // lietotāja meklēšanas īstenojums
        return new User();
    }
}

Šeit UserRepository klase manto no saskares ar konkrētu tipu, User.

Ja klasei arī jābūt ģeneriskai, tad tipu parametrs tiek nodots tālāk:

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

Tādējādi ģeneriskā tipa mantošana no saskares tiek panākta, norādot tipu parametrus, realizējot saskarni.