Junior — Middle
როგორ განვსაზღვროთ პროგრამირების ენაში ძირითადი მონაცემთა ტიპები და მიმთითებელი ობიექტები?
sobes.tech AI
პასუხი AI-სგან
პროგრამირების ენებში ძირითადი მონაცემთა ტიპები (პრიმიტივები) და რეფერენციული ობიექტები განსხვავდებიან მონაცემების შენახვის და გადაცემის მეთოდით.
- ძირითადი მონაცემთა ტიპები (მაგალითად, int, float, boolean Java/Android-ში) ინახება სტეკში და შეიცავს პირდაპირ მნიშვნელობას. როდესაც გადაეცემა ცვლადი, თავად მნიშვნელობა კოპირდება.
- რეფერენციული ობიექტები (მაგალითად, კლასის ობიექტები) ინახება heap-ში, და ცვლადში ინახება ობიექტის რეფერენცია (პოინტერი). გადაცემისას, კოპირდება მხოლოდ რეფერენცია, არა თავად ობიექტი.
მაგალითი:
int a = 5;
int b = a; // კოპირდება მნიშვნელობა 5
b = 10;
// a კვლავ 5
String s1 = new String("hello");
String s2 = s1; // კოპირდება რეფერენცია ობიექტზე
s2 = "world";
// s1 კვლავ "hello" (Java-ში String უცვლელია)
ასე რომ, ძირითადი ტიპები პირდაპირ ინახავენ მონაცემებს, ხოლო რეფერენციული — ობიექტზე მითითებით.