Junior
İstinad növü məlumatları nədir?
sobes.tech Süni İntellekt
AI-dan cavab
İstinad növü məlumatları öz dəyərini deyil, onun saxlandığı yerə (bellek ünvanına) istinad edir. Belə məlumatların təyin olunması və ya ötürülməsi zamanı yalnız istinad kopyalanır, bütün obyekt deyil. Bir istinad vasitəsilə edilən dəyişikliklər, digər istinadlar vasitəsilə həmin obyektə işarə etdikdə görünəcək.
Fərqli dillərdə istinad növü məlumat nümunələri:
- Java: Siniflər (
String,Object, xüsusi siniflər), interfeyslər, massivlər. - C#: Siniflər (
string,object, xüsusi siniflər), interfeyslər, delegatlar, massivlər. - Python: Bütün məlumat tipləri (siyahılar, lüğətlər, tuple-lər, dəstlər, siniflər, funksiyalar).
# Python-da nümunə
list1 = [1, 2, 3]
list2 = list1 # list2, eyni siyahıya istinad edir
list2.append(4)
print(list1) # Çıxış: [1, 2, 3, 4]
print(list2) # Çıxış: [1, 2, 3, 4]
Qiymət tipləri ilə fərqi odur ki, qiymət tipləri öz dəyərini saxlayır və təyin olunması və ya ötürülməsi zamanı bütün dəyər kopyalanır.
Müqayisə nümunəsi:
| Xüsusiyyət | Qiymət tipləri | İstinad tipləri |
|---|---|---|
| Saxlama | Öz dəyəri | Dəyərə istinad |
| Təyin və ötürmə | Dəyərin kopyası | İstinadın kopyası |
| Dəyişiklik | Orijinalı təsir etmir | Orijinalı dəyişir |
| Nümunə (C#) | int, struct, enum |
class, interface, array |