Sobes.tech
Junior — Middle

Программалоо тилинде интерфейстен универсал түрдүн мурасын кантип ишке ашыруу керек?

sobes.tech AI

AIден жооп

Программалоо тилдеринде, жалпы түрлөрдү колдоочу (мисалы, Java же Kotlin) тилдерде, жалпы түрдүн интерфейстен мурас алынышы класс жарыялоо учурунда түр параметрин көрсөтүү аркылуу ишке ашырылат.

Javaда мисал:

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

class UserRepository implements Repository<User> {
    @Override
    public void save(User user) {
        // колдонуучуну сактоо ишке ашыруу
    }

    @Override
    public User findById(int id) {
        // колдонуучуну издөө ишке ашыруу
        return new User();
    }
}

Бул жерде UserRepository классы, конкреттүү түр, User менен Repository интерфейсинен мурас алат.

Эгер класс дагы жалпы болушу керек болсо, түр параметри ары карай өткөрүлөт:

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

Мындай жол менен, жалпы түрдүн интерфейстен мурас алынышы, интерфейсти ишке ашырууда түр параметрлерин көрсөтүү аркылуу жеткирилет.