this
الها اكثر من استخدام
الاستخدام الاول :
تحل مشكلة اسماء المتغيرات المتشابهة
لو كان عندي ميثود كالتالي
كود
public void setName(String name){
this.name=name;
}
this.name=name;
}
هون الميثود بتستقبل متغير اسمه name
لكن موجود عندي متغير تاني من نفس النوع وبيحمل نفس الاسم
لو ما استخدمنا this
حيصير name=name
المترجم الخاص بالجافا حيعتبر انه احنا بنساوي المتغير بنفسه
لكن مع استخدام this ميزنا المتغيريين عن بعض
this.name بتأشر على المتغير المعرف مسبقا في الكلاس
وname بتأشر على المتغير اللي حتستقبله الميثود
الاستخدام الثاني :
استدعاء دوال البناء
لو كان عندي في الكلاس دالة بناء تستقبل متغير من نوع String
كود
public className(String name){
this.name=name;
}
this.name=name;
}
و عملنا دالة بناء ثانية كالتالي
كود
public className(String name,int id){
this(name);
this.id=id;
}
this(name);
this.id=id;
}
this(name)
حتقوم باستدعاء دالة البناء التي تستقبل متغير من نوع String
وتمرر اليها القيمة name
وطبعا هالشي هذا لتجنب اعادة تكرار الكود
ويجب ان تكون اول جملة في دالة البناء
ولا يمكن استخدامها في استدعاء اكثر من دالة بناء
تحياتي
ليست هناك تعليقات:
إرسال تعليق