هذه الكلمة الرئيسية في Java

⚡ ملخص ذكي

Java هذه الكلمة المفتاحية هي متغير مرجعي يشير إلى الكائن الحالي داخل طريقة أو مُنشئ. Lessتغطي هذه المقالة الغرض والاستخدامات الشائعة وتعارضات التسمية وتسلسل المُنشئ ومثال عملي.

  • 🔑 فريف: يشير هذا إلى النسخة الحالية من فئة معينة.
  • 🧱 حل النزاعات: استخدم this.field للتمييز بين متغيرات النسخة والمعلمات ذات الأسماء المتطابقة.
  • 🪜 استخدام المُنشئ: يستدعي هذا () مُنشئًا آخر من نفس الفئة لتهيئة أنظف.
  • ✅ المرور والعودة: قم بإرسال هذا كوسيط أو قم بإعادته لدعم تسلسل الأساليب.
  • 🧪 مثال عملي: توضح فئة الحساب كيف يقوم هذا بإصلاح الإخراج الصفري الناتج عن تظليل المعلمات.
  • 🤖 مساعدة الذكاء الاصطناعي: تكتشف أدوات البرمجة المدعومة بالذكاء الاصطناعي البادئات المفقودة وتقترح عمليات إعادة هيكلة دقيقة.

هذه الكلمة الرئيسية في Java

ما هي هذه الكلمة الرئيسية في Java?

استخدم هذه الكلمة الرئيسية في Java هو متغير مرجعي يشير إلى الكائن الحالي لطريقة أو مُنشئ. الغرض الرئيسي من استخدام هذه الكلمة الرئيسية في Java الهدف هو إزالة الالتباس بين سمات الفئة والمعلمات التي تحمل نفس الاسم.

استخدام هذه الكلمة الرئيسية في Java

فيما يلي استخدامات متنوعة لهذه الكلمة المفتاحية في Java:

  • يمكن استخدامه للإشارة إلى متغير النسخة الخاص بالفئة الحالية.
  • يمكن استخدامه لاستدعاء أو بدء مُنشئ الفئة الحالية.
  • يمكن تمريره كوسيط في استدعاء دالة.
  • يمكن تمريره كوسيط في استدعاء الدالة البانية.
  • يمكن استخدامه لإرجاع نسخة الفئة الحالية.

انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو

كيفية فهم هذه الكلمة المفتاحية من خلال مثال

هذه الكلمة الرئيسية في Java
Java مثال هذه الكلمة الرئيسية

  1. الفئه : حساب الطبقة
  2. المتغيرات الخاصة: أ و ب
  3. طريقة تعيين البيانات: لتعيين القيمة لـ a وb.
  4. طريقة عرض البيانات: لعرض القيم لـ a وb.
  5. الطريقة الرئيسية: حيث نقوم بإنشاء كائن لفئة الحساب واستدعاء أساليب تعيين البيانات وعرض البيانات.

السير عبر ارتباك المترجم

لنقم بتجميع وتشغيل الكود.

ينبغي تهيئة مخرجاتنا المتوقعة لـ A وB إلى القيمتين 2 و3 على التوالي.

لكن القيمة تساوي صفرًا. لماذا؟ دعونا نتحقق من الأمر.

هذه الكلمة الرئيسية في Java

في طريقة Set data، يتم تعريف الوسائط على أنها a و b، بينما يتم تسمية متغيرات النسخة أيضًا a و b.

هذه الكلمة الرئيسية في Java

أثناء التنفيذ، يقع المترجم في حيرة من أمره، إذ يتساءل عما إذا كان المتغير "a" الموجود على يسار عامل التعيين متغيرًا خاصًا بالمثيل أم متغيرًا محليًا. ولذلك، لا يتم تعيين قيمة "a" عند استدعاء الدالة set data.

هذه الكلمة الرئيسية في Java

الحل هو الكلمة المفتاحية this.

أضف كلاً من "أ" و "ب" مع Java هذه الكلمة الأساسية متبوعة بعامل النقطة (.)

هذه الكلمة الرئيسية في Java

أثناء تنفيذ التعليمات البرمجية، عندما يستدعي كائن ما الدالة setdata، يتم استبدال الكلمة المفتاحية this بمعالج الكائن "obj". (انظر الصورة أدناه.)

هذه الكلمة الرئيسية في Java

والآن يعرف المترجم،

  • الحرف "a" الموجود على الجانب الأيسر هو متغير مثيل.
  • بينما يمثل الحرف "a" الموجود على الجانب الأيمن متغيرًا محليًا.

استخدم المتغيرات تتم تهيئتها بشكل صحيح، ويتم عرض الإخراج المتوقع.

هذه الكلمة الرئيسية في Java

كيف يتعامل المترجم مع الكائنات المتعددة

لنفترض أنك اخترت أسماء مختلفة لمتغيرات الكائن ومعاملات الطريقة.

هذه الكلمة الرئيسية في Java

لكن هذه المرة، يمكنك إنشاء كائنين من الفئة، يستدعي كل منهما طريقة البيانات المحددة.

كيف سيحدد المترجم ما إذا كان من المفترض أن يعمل على متغير مثيل الكائن 1 أو الكائن 2؟

هذه الكلمة الرئيسية في Java

حسنا، المترجم يلحق ضمنيا متغير النسخة مع الكلمة المفتاحية this (الصورة أدناه).

هذه الكلمة الرئيسية في Java

بحيث أنه عندما يقوم الكائن 1 باستدعاء أسلوب مجموعة البيانات، يتم إلحاق متغير مثيل بواسطة المتغير المرجعي الخاص به.

هذه الكلمة الرئيسية في Java

بينما يقوم الكائن 2 باستدعاء أسلوب مجموعة البيانات، يتم تعديل متغير مثيل للكائن 2.

هذه الكلمة الرئيسية في Java

يتولى المترجم هذه العملية تلقائيًا. لا داعي لإضافة الكلمة المفتاحية this صراحةً إلا في حالة استثنائية تتطلب ذلك.

مثال: هذه الكلمة المفتاحية في Java مع Code

على سبيل المثال: لتعلم استخدام هذه الكلمة المفتاحية.

الخطوة 1) انسخ الكود التالي في المفكرة.

class Account{
int a;
int b;

 public void setData(int a ,int b){
  a = a;
  b = b;
 }
 public void showData(){
   System.out.println("Value of A ="+a);
   System.out.println("Value of B ="+b);
 }
 public static void main(String args[]){
   Account obj = new Account();
   obj.setData(2,3);
   obj.showData();
 }
}

الخطوة 2) احفظ الكود، وقم بتجميعه، ثم قم بتشغيله.

الخطوة 3) هل تظهر قيمة a و b على أنها صفر؟ لتصحيح الخطأ، أضف السطرين رقم 6 و 7 مع الكلمة.

this.a =a;
this.b =b;

الخطوة 4) احفظ الكود، ثم قم بتجميعه وتشغيله. هذه المرة، تم ضبط قيمتي a و b على 2 و 3 على التوالي.

الأسئلة الشائعة

تشير الكلمة المفتاحية this إلى الكائن الحالي الذي يتم تنفيذ طريقته أو مُنشئه. وهي تُمكّن الكود من الوصول إلى حقول وأساليب مثيل ذلك الكائن.

لا. الكلمة المفتاحية this خاصة بالمثيل، بينما توجد الدوال الثابتة على مستوى الصنف. استخدام this داخل دالة ثابتة يُسبب خطأً أثناء الترجمة.

يستدعي هذا الأمر دالة إنشاء أخرى من نفس الفئة التي استُخدمت في العبارة الأولى. وهذا يتجنب تكرار التعليمات البرمجية، ويسمح لدالة إنشاء واحدة بتفويض عملية الإعداد إلى دالة إنشاء أخرى مُحمّلة بشكل زائد.

تقوم مساعدات البرمجة بالذكاء الاصطناعي بتحديد المعلمات المظللة، وإضافة البادئة المفقودة this، وإعادة كتابة المنشئات لاستخدام تسلسل this() ووظائف التعيين السلسة التي تُرجع this.

يقوم معلمو الذكاء الاصطناعي بشرح هوية الكائن، وعرض الفرق بين نطاق المثال والنطاق المحلي، وإنتاج أمثلة خطوة بخطوة مع اختبارات لتعزيز متى يجب استخدام الكلمة المفتاحية this.

تحقق من مقالتنا على Java أسئلة المقابلة:- اضغط هنا

تلخيص هذه التدوينة بـ: