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.
თუ კლასი უნდა იყოს გენერიკი, ტიპის პარამეტრი გადაეცემა შემდეგნაირად:
class GenericRepository<T> implements Repository<T> {
@Override
public void save(T item) { /* ... */ }
@Override
public T findById(int id) { /* ... */ return null; }
}
ამ გზით, გენერიკული ტიპის მემკვიდრეობა ინტერფეისიდან მიიღწევა ტიპის პარამეტრების მითითებით, როდესაც ინტერფეისი იმპლემენტირებულია.