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.