Middle
Ümumi tiplər (Generics) nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Növü parametrizasiya vasitəsi olan ümumi tiplər (Generics), ümumi siniflər, interfeys və metodlar yaratmağa imkan verir. Bu, müxtəlif məlumat tipləri ilə işləməyə imkan verir və tiplərin təhlükəsizliyini itirmədən işləməyə imkan verir.
Generics istifadəsinin əsas üstünlükləri:
- Tip təhlükəsizliyi: Kompilyator, tiplərin uyğunluğunu yoxlayır və potensial səhvləri proqram işləmədən əvvəl aşkar etməyə kömək edir.
- Kod təkrarlamasını azaltmaq: Bir sinf və ya metod yarada bilərsiniz ki, müxtəlif tiplərlə işləsin, hər tiplər üçün ayrıca kod yazmağa ehtiyac qalmır.
- Kodun oxunaqlığını artırır: Ümumi tiplərin istifadəsi kodu daha anlaşılan edir, hansı tiplərlə işlədiyini göstərir.
- Açıq tip çevirməyə ehtiyacın olmaması: Generics ilə işləyərkən, elementləri lazım olan tiplərə açıq şəkildə çevirməyə ehtiyac yoxdur.
Java-da istifadə nümunəsi:
// Yalnız sətirlər saxlaya bilən siyahı yaradılması
List<String> stringList = new ArrayList<>();
stringList.add("salam");
// stringList.add(123); // Kompilyasiya xətası, çünki 123 sətir deyil
// Tip çevirməsinə ehtiyac olmadan element əldə etmək
String ilkElement = stringList.get(0);
C#-da istifadə nümunəsi:
// Yalnız tam ədədləri saxlaya bilən siyahı yaradılması
List<int> intList = new List<int>();
intList.Add(10);
// intList.Add("dünya"); // Kompilyasiya xətası, çünki "dünya" tam ədəd deyil
// Tip çevirməsinə ehtiyac olmadan element əldə etmək
int ədəd = intList[0];
Ümumi sinif nümunəsi:
// Hər hansı tipdə obyekt saxlaya bilən ümumi Box sinfi
public class Box<T> {
private T item;
public void setItem(T item) {
this.item = item;
}
public T getItem() {
return item;
}
}
// Ümumi sinifdən istifadə
Box<Integer> intBox = new Box<>();
intBox.setItem(123);
int intDəyəri = intBox.getItem(); // Çevirməyə ehtiyac yoxdur
Box<String> stringBox = new Box<>();
stringBox.setItem("test");
String stringDəyəri = stringBox.getItem(); // Çevirməyə ehtiyac yoxdur
Beləliklə, generik tiplər çevik, təhlükəsiz və asan saxlanılan kod yaratmaq üçün güclü vasitədir.