Sobes.tech
Middle

რა არის მიმთითებლების ტიპების მასივები პროგრამირების კონტექსტში?

sobes.tech AI

პასუხი AI-სგან

සම්බන්ධතා වර්ග මැටිවලට අදාළව, ඒවා අයිතිකාරකම් නොව, මතක ප්‍රදේශවල ඇති ලිපින (සඳහන්) පමණක් අඩංගු වේ. මූලික වර්ග මැටිවලට වඩා, සම්බන්ධතා වර්ග මැටිවලට සෘජු අගයන් නොව, පන්තියන්, අතුරුමුහුණත් හෝ වෙනත් සම්බන්ධතා වර්ගවල නියෝජිතයන් වෙත යොමුකිරීම් අඩංගු වේ.

විශේෂාංග:

  • මතකය: සම්බන්ධතා වර්ග මැටිවල නිර්මාණය කිරීමේදී, මතකය මැටිවලට (යොමුකිරීම් තැන්වලට) පමණක් වෙන් කරයි, නමුත් වස්තුන්ට නොවේ. වස්තු වෙනම new මෙහෙයුම භාවිතා කර නිර්මාණය කරයි.
  • ආරම්භකරණය: පෙරනිමි අගයන්, බොහෝ භාෂාවල, null ලෙස ආරම්භ වේ, එය කිසිදු වස්තුවකට යොමු නොකිරීමයි.
  • පිටපත් කිරීම: එක් සම්බන්ධතා මැටිවලින් අනෙක්කට (උදාහරණයක් ලෙස, array2 = array1) පවරාගැනීමේදී, පමණක් යොමුකිරීම් පිටපත් වේ, වස්තු නොවේ. දෙකම එකම වස්තුන් වෙත යොමු වේ. වස්තුවක් වෙනස් කිරීම, එයට යොමු වන්නේ, අනෙක් මැටිවලටද බලපෑමක් සිදු කරයි. ස්වයංක්‍රීය පිටපත් කිරීම් හෝ නව නියෝජිතයන් නිර්මාණය කිරීම අවශ්‍ය වේ.
  • බහුමාර්ගිකත්වය: සම්බන්ධතා වර්ග මැටිවලට විවිධ පන්තියන්ගේ වස්තුන් තබාගත හැක, එසේ නම්, ඒවා සාමාන්‍ය මූලික පන්තියක හෝ සමූහ අතුරුමුහුණතක් අනුගමනය කළ යුතුය (බහුමාර්ගිකත්ව මූලධර්මය).

Java උදාහරණයක්:

// String පන්තියට අයත් වස්තු සඳහා යොමුකිරීම් මැටිවක් නිර්මාණය
String[] names = new String[3];

// String වස්තු සඳහා යොමුකිරීම් සමඟ මැටිවක අංග ආරම්භ කිරීම
names[0] = new String("Alice");
names[1] = "Bob"; // String ලිටරල් එකක් ලෙසත් යොමු වර්ගය
names[2] = new String("Charlie");

// links සහ names මැටිවක යොමුකිරීම් එකටම යොමු වේ
String[] links = names;

// එක් මැටිවක වස්තුව වෙනස් කිරීම අනෙක් මැටිවලට බලපායි
links[0] = "Alicia";

// මූලික මැටිවක අගය ප්‍රින්ට් කිරීම
System.out.println(names[0]); // "Alicia" ලෙස ප්‍රින්ට් වේ

Python උදාහරණයක්:

# වස්තු සඳහා යොමුකිරීම් සමඟ ලැයිස්තුවක් නිර්මාණය
data = [1, "hello", [1, 2]] # අංගයන් int, str, list වස්තු වෙත යොමු වේ

# වෙනත් වෙනස්කම එම ලැයිස්තුවට යොමු වේ
more_data = data

# එක් යොමුකිරීමෙන් වෙනස්කම අනෙක්ට බලපායි
more_data[0] = 10

# මූලික ලැයිස්තුවේ අගය ප්‍රින්ට් කිරීම
print(data[0]) # 10 ලෙස ප්‍රින්ට් වේ

# ස්වයංක්‍රීය පිටපතක් නිර්මාණය
copied_data = data[:] # මතුපිට පිටපතක් (යොමුකිරීම් පිටපත් වේ)

සම්බන්ධතා වර්ග මැටිවල සමඟ වැඩ කිරීමේ මූලිකත්වය මතකය හොඳින් කළමනාකරණය කිරීමට සහ විවිධ යොමුකිරීම් මඟින් වස්තු සංස්කරණය කිරීමේ දෝෂවලින් වැළකී සිටීමට අත්‍යවශ්‍ය වේ.