قم بالتمرير بالقيمة وتمرير حسب المرجع في Java



تساعدك هذه المدونة على فهم Pass by Value و Pass by Reference في Java. كما يشرح سبب الإشارة إلى Java باسم Pass by Value مع المثال.

تعد Java واحدة من أكثر لغات البرمجة الأساسية التي يمكن لأي شخص تعلمها. الأمر بسيط للغاية في نفس الوقت ، وإمكانية تطوير ما يمكنك تطويره باستخدام Java ، لا حصر لها!هذا ما يجعل Java اللغة الأكثر استخدامًا في الصناعة اليوم.ستساعدك هذه المدونة على فهم قيمة المرور والمرجع في Java بالتسلسل التالي:

مرر حسب القيمة ومر حسب المرجع في جافا

المرور بالقيمة والتمرير حسب المرجع هما طريقتان يمكننا من خلالهما تمرير قيمة إلى المتغير في دالة.





منطق غامض في الذكاء الاصطناعي
  • المرور بالقيمة: إنها عملية يتم فيها نسخ قيم معلمات الوظيفة إلى متغير آخر وبدلاً من ذلك يتم تمرير هذا الكائن المنسوخ. يُعرف هذا باسم Call by Value.

  • تمرير حسب المرجع: إنها عملية يتم فيها تمرير النسخة الفعلية من المرجع إلى الوظيفة. وهذا ما يسمى بالمرجع.



بالحديث عن Java ، يمكننا القول أن Java هي تمرير بالقيمة ولا تمر بالمرجع.

سنقوم بتوضيح البيان المقتبس من خلال البرمجة.

التوضيح مع البرنامج

لنفترض أن لدينا فصلًا دراسيًا سيارة مثل أدناه.



public class Car {private String color public Car () {} public Car (String a) {this.color = a} public String getColor () {return color public void setColor (String color) {this.color = color}

بعد ذلك لدينا برنامج يقوم بتبادل كائنين.

فئة عامة Disp {public static void main (String [] args) {Car red = new Car ('Red') Balloon yellow = new Balloon ('Yellow') swap (red، yellow) System.out.println ('red color = '+ red.getColor ()) System.out.println (' اللون الأصفر = '+ yellow.getColor ()) desc (أصفر) System.out.println (' اللون الأصفر = '+ yellow.getColor ())} تفريغ الفراغ الثابت الخاص (سيارة السيارة) {// car = 100 balloon.setColor ('Red') // car = 100 car = new car ('Green') // car = 200 car.setColor ('Yellow') / / car = 200} // swap method public static void swap (Object o1، Object o2) {Object temp = o1 o1 = o2 o2 = temp}}

انتاج |

اللون الأحمر = أحمر

اللون الأصفر = أصفر

اللون الأصفر = أحمر

تفسير:

مساحة الاسم في c ++

لذلك كما قلت سابقًا أن جافا جافا تم تمريرها بالقيمة ، لذلك يمكننا أن نرى أن أول سطرين في الإخراج لم تنجح طريقة () swap. فلنقم بشرح شامل للرمز.

مرر حسب القيمة وتمرير حسب المرجع في Java

أولاً ، أنشأنا مثيلًا لفئة باستخدام امتداد جديد المشغل أو العامل. يتم إنشاؤه ويتم تخزين القيمة في موقع الذاكرة. لذلك يشير هذا المثال إلى موقع ذاكرة الكائنات التي تكون 'حمراء' و 'صفراء'. الآن عندما نستدعي القيم بأجسام جديدة o1 و o2 ، فهذا يشير إلى موقع ذاكرة الكائنين وهما 'أحمر' و 'أصفر'. لذلك عندما يتم استدعاء طريقة المبادلة في البداية ، فإنها تشير إلى موقع ذاكرة 'الأحمر'. في السطر التالي ، يتم تغيير مرجع السيارة إلى العنوان التالي ويتم توجيهه إلى موقع الذاكرة 'الأصفر'. لذلك يتم تبديلهم في الخطوة الثانية ، وليس في الخطوة الأولى. هذا هو السبب في أن JAVA يشار إليها باسم Pass by Value وليس كمرجع.

الآن بعد أن فهمت Pass by Value و Pass by Reference في Java ، تحقق من من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تم تصميم دورة Edureka's Java J2EE and SOA للتدريب والشهادة للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في مقالة 'Pass by Value and Pass by Reference in Java' وسنقوم بالرد عليك في أقرب وقت ممكن.