Sobes.tech
Junior — Middle

Dasturlash tilida interfeysdan umumiy tur merosini qanday amalga oshirish mumkin?

sobes.tech AI

AIdan javob

Dasturlash tillarida, mas'uliyatli turlarni qo'llab-quvvatlaydigan (masalan, Java yoki Kotlin) bo'lsa, umumiy turdan interfeysga meros olish, sinf e'lonida parametrli interfeysni ko'rsatish orqali amalga oshiriladi.

Java misoli:

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

class UserRepository implements Repository<User> {
    @Override
    public void save(User user) {
        // foydalanuvchini saqlash uchun implementatsiya
    }

    @Override
    public User findById(int id) {
        // foydalanuvchini qidirish uchun implementatsiya
        return new User();
    }
}

Bu yerda, UserRepository sinfi, aniq tur, User bilan Repository interfeysidan meros oladi.

Agar sinf ham umumiy bo'lishi kerak bo'lsa, tur parametri quyidagicha uzatilib,:

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

Shunday qilib, umumiy turdan interfeysga meros olish, interfeysni amalga oshirishda tur parametrlarini ko'rsatish orqali erishiladi.