Sobes.tech
Junior — Middle

Proqramlaşdırma dilində interfeysdən ümumi tipin irsini necə həyata keçirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Proqramlaşdırma dillərində, ümumi tipləri dəstəkləyən (məsələn, Java və ya Kotlin) dillərdə, ümumi tipin interfeysdən irsi alınması, sinif elanında parametrli interfeysi göstərməklə həyata keçirilir.

Java nümunəsi:

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

class UserRepository implements Repository<User> {
    @Override
    public void save(User user) {
        // istifadəçini saxlamaq üçün implementasiya
    }

    @Override
    public User findById(int id) {
        // istifadəçini tapmaq üçün implementasiya
        return new User();
    }
}

Burada, UserRepository sinfi, konkret tip olan User ilə Repository interfeysindən irs alır.

Əgər sinif də ümumi olmalıdırsa, tip parametri aşağıdakı kimi ötürülür:

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

Bu şəkildə, ümumi tiplərdən irsi alınma, interfeysin tətbiqi zamanı tip parametrlərinin göstərilməsi ilə əldə edilir.