Junior
Кайсылар шилтемелүү маалыматтар?
sobes.tech AI
AIден жооп
Маалыматтын шилтемелүү түрлөрү өзүнүн маанисин сактабайт, тескерисинче, сакталган жердин (эстутум дареги) шилтемесин сактайт. Мындай маалыматтарды белгилөө же өткөрүп берүү учурунда, тек гана шилтеменин көчүрмөсү жасалат, бүт объект эмес. Бир шилтемеден жасалган өзгөртүүлөр, башка шилтемелер аркылуу ошол эле объектке көрсөтүп турганда көрүнөт.
Тилдерде шилтемелүү түрлөрүнүн мисалдары:
- Java: Класстар (
String,Object, колдонуучу класстар), интерфейстер, массивдер. - C#: Класстар (
string,object, колдонуучу класстар), интерфейстер, делегаттар, массивдер. - Python: Бардык маалымат түрлөрү (тизмелер, сөздүктөр, кортеждер, топтомдор, класстар, функциялар).
# 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 |