Sobes.tech
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 უცვლელია)

ასე რომ, ძირითადი ტიპები პირდაპირ ინახავენ მონაცემებს, ხოლო რეფერენციული — ობიექტზე მითითებით.