اريد شرح كلمة this في الجافا وماهي القيمة التي سيأخذها
مثل
X=3
Y=6
Void set y(int y
this y=y
y=this.y .
ماالفرق بين الجملتين لم اكتب الكود بشكل صحيح فقط لتوضيح ارجو الرد وشكرا
انصحك بمشاهدة فيديوهات الاستاذ عبدالله عيد دورة Java 101 الدروس 32 و 33 و 34
باختصار شديد لو أن لديك متغير public اسمه var و لديك مثود تحتوي على متغير اخر local اسمه أيضاً var
لن تستطيع الوصول للمتغير العام من داخل المثود بالطريقة التقليدية ببساطة لأن جافا تعطي الأولية للمتغير المحلي على العام و بالتالي حتى نصل للمتغير العام نسخدم عبارة this
مثال للتوضيح
تخيلي معي
عندك كلاس
عرفتي بعده
public int x ; //attri
ثم عندك ميثود بعدها بغض النظر عن نوعها ايش ترجع او ايش تاخذ حلو؟
الميثود هذي مكتوب فيها
this.x = 5; //decl
معناتها انه اسند قيمه للاكس حقت الكلاس الي فيه الميثود فهمتي؟ يعني لو جت ميثود ثانيه واستخدمت الاكس الي فوق راح تكون قيمتها 5
طيب لو هالميثود كتبت كذا
int x = 4
هنا عرف قيمة اكس وهالميثود تشوف هالاكس على انها متغير نفسه نفس غيره مسنود له قيمة -مايشوفها- على انها الاكس الي فوق ولا يمكن اي ميثود يستخدم هالاكس (x=4) الا بهالميثود فقققققققط
مثال : عرفتي اكس تحت الكلاس من دون قيمة وعندك ميثودين الميثود الاولى مكتوب فيها ذيس اكس = 5
والميثود الثانية مكتوب فيه this.x= this.x + 5 ??? طيب ايش هي الاكس في هالميثود؟ بيرجع للاكس الي فوق بالكلاس وبيشوف انها تساوي خمسه(لاننا اسندنا لها في الميثود الاولى ) وبيطلع ان this.x = 10
وصل اللهم وبارك :)
التعليقات