Generics nədir və onlar nə üçün istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
Generiklər (generics) proqramlaşdırma dillərində, müəyyən bir məlumat növünü əvvəlcədən bilmədən müxtəlif məlumat tipləri ilə işləyən siniflər, interfeyslər və metodlar yaratmağa imkan verən mexanizmdir.
Onlar aşağıdakı məqsədlər üçün istifadə olunur:
-
Növ təhlükəsizliyinin artırılması (Type Safety): Kompilyator məlumat tiplərini tərtib zamanı yoxlayır və yalnız işə salınma zamanı (Runtime Errors) ortaya çıxan səhvlərin qarşısını alır.
// Generiksiz nümunə - potensial səhv List list = new ArrayList(); list.add("string"); list.add(123); // Hər hansı bir növ əlavə edə bilər String s = (String) list.get(1); // İşə salınma zamanı ClassCastException xətası -
Kodun təkrar istifadəsi (Code Reusability): Eyni kod müxtəlif məlumat tipləri ilə işləyə bilər, hər növ üçün ayrıca versiyalar yazmağa ehtiyac olmadan.
// Generiklərlə - təhlükəsiz istifadə List<String> list = new ArrayList<>(); // String növü göstərilib list.add("string"); // list.add(123); // Kompilyator səhv verəcək - int əlavə edilə bilməz String s = list.get(0); // Növ çevirməyə ehtiyac yoxdur -
Kodun oxunaqlığının yaxşılaşdırılması: Məlumat tiplərinin açıq göstərilməsi kodun hansı məlumatlarla işlədiyini anlamağa kömək edir.
-
Performansın optimallaşdırılması: Bəzi dillərdə (məsələn, C#), generiklər bazar tiplərdən (məsələn,
Object) istifadə etməklə müqayisədə daha yaxşı performans təmin edə bilər, çünki boxing/unboxing lazım deyil.
Məsələn, standart məlumat kolleksiyaları (siyahılar, dəstlər, xəritələr) əksər dillərdə generiklərdən istifadə edir, bu da təhlükəsizlik və rahatlıq təmin edir.
| Generiksiz | Generiklərlə |
|---|---|
Object tipləri ilə işləyir |
Konkret tiplərlə işləyir |
| Növ çevirmə tələb edir | Növ çevirməyə ehtiyac yoxdur |
| Növ səhvləri iş vaxtında aşkarlanır | Növ səhvləri tərtib vaxtında aşkarlanır |
| Kod daha az oxunaqlıdır | Kod daha oxunaqlıdır |