Sobes.tech
Junior

Навъҳои маълумоти истинодӣ чист?

sobes.tech AI

Ҷавоб аз AI

Типҳои маълумоти истинод на танҳо арзишро нигоҳ намедоранд, балки истинод (суроға дар хотира) ба ҷойеро, ки ин арзиш нигоҳ дошта мешавад, нигоҳ медоранд. Дар вақти таъин ё гузаронидани чунин маълумот, танҳо истинод нусхабардорӣ мешавад, на тамоми объект. Тағйиротҳое, ки тавассути як истинод анҷом дода мешаванд, дар вақти дастрасӣ тавассути дигар истинодҳо, ки ба ҳамин объект ишора мекунанд, намоён хоҳанд шуд.

Маслиҳатҳои намунаи маълумоти истинод дар забонҳои гуногун:

  • Java: Классҳо (String, Object, классҳои фармоишӣ), интерфейсҳо, массивҳо.
  • C#: Классҳо (string, object, классҳои фармоишӣ), интерфейсҳо, делегатҳо, массивҳо.
  • Python: Ҳамаи намудҳои маълумот (феҳристҳо, луғатҳо, tuple-ҳо, маҷмӯъҳо, классҳо, функсияҳо).
# Намуна дар Python
list1 = [1, 2, 3]
list2 = list1  # list2 ба ҳамон феҳрист ишора мекунад, ки list1

list2.append(4)

print(list1)  # Натиҷа: [1, 2, 3, 4]
print(list2)  # Натиҷа: [1, 2, 3, 4]

Фарқ дар муқоиса бо намудҳои арзишӣ дар он аст, ки намудҳои арзишӣ арзишро дар худ нигоҳ медоранд, ва дар вақти таъин ё гузаронидан, тамоми арзиш нусхабардорӣ мешавад.

Маслиҳати муқоиса:

Хусусият Намудҳои арзишӣ Намудҳои истинодӣ
Захира кардан Арзиши худ Ҳавола ба арзиш
Таъин/гузаронидан Нусхаи арзиш Нусхаи ҳавола
Тағйирот Ба оригинал таъсир намерасонад Оғозан тағйир медиҳад
Намуна (C#) int, struct, enum class, interface, array