السلام عليكم و رحمة الله وبركاته
اخواني من كانت لديه الاجابة فاليتفضل سؤالي
ما معنى this ومتى استعملها وان كان بمثال
والف شكر لكم .
السلام عليكم و رحمة الله وبركاته
اخواني من كانت لديه الاجابة فاليتفضل سؤالي
ما معنى this ومتى استعملها وان كان بمثال
والف شكر لكم .
this
معناها الطبيعى او فاللغه " هذا "
يعنى بتشير الى
1- المتغير الموجود فى الـ class
2- يشير الى class
3- يشير الى object from class
هذه هى الاستخدامات المشهوره اوى للـthis
استخدمها امتى
1- لم اكون عاوز اشير الى الـ class اللى انا واقف فيها
يعنى ايه بردوا
يعنى اشير الى كل متغير او كل داله موجوده داخل الـ class
2- لم اكون بعمل داله بتاخد قيمه وتخزنها فى متغير داخل الكلاس
زى مثال الـ setter
بدال ما اعمل كدا
int num;
public void setNum(int number){
num = number;
}لالا فى الجافا وفى معظم اللغات انى استخدم نفس الparameters الموجوده بين اقواس الداله
بنفس اسماء المتغيرات الموجوده عندى
ازاى
ان المتغير الاصلى بتاعى اشير اليه بـ this.variableName
ويكون عندى الـ paramters بتاعى اسمه variableName
وبكدا يكونوا مختلفين
تعالوا نطبق على المثال السابق
int num;
public void setNum(int num){
num = num;
}لو عملت الكود دا الكومبيلر هيقولك غلط انك بتحط المتغير ف نفسه
لكن انا هاصلحه واقوله
int num;
public void setNum(int num){
this.num = num;
}كدا انا قولت له ان المتغير بتاعى اللى اسمه num اللى هى بتتعمل بـ this.num
هتحط فيه القيمه اللى انت واخدها اللى اسمها num
اتمنى ان اكون افدت ولو بالقليل
بالتوفيق
سلام عليكم
هى بتشير للكائن الحالي ومنها بتقدر توصل لل instance variables/methods
(map share people)
فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader
مشكوريين على الردود راح اجرب
this تستعمل أيضا للمناداة على أحد ال constructors إذا كان لديك عدة constructors
public class Test {
private int a, b, c;
public Test(int aa, int bb, int cc) {
a = aa;
b = bb;
c = cc;
}
public Test(int aa, int bb) {
this(aa, bb, 10);
}
}herch كتب:this تستعمل أيضا للمناداة على أحد ال constructors إذا كان لديك عدة constructors
public class Test { private int a, b, c; public Test(int aa, int bb, int cc) { a = aa; b = bb; c = cc; } public Test(int aa, int bb) { this(aa, bb, 10); } }
+1
انت دايما للحاجات اللى بنغفل عنها
تسلم ايدك :)
herch كتب:this تستعمل أيضا للمناداة على أحد ال constructors إذا كان لديك عدة constructors
public class Test { private int a, b, c; public Test(int aa, int bb, int cc) { a = aa; b = bb; c = cc; } public Test(int aa, int bb) { this(aa, bb, 10); } }
طيب أخي معلش ممكن تشرح المثال بشكل آخر او مثلا نفس المثال تبين الفرق بدون استخدام this
إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ
رسم المخططات البيانية بواسطة الجافا
كتاب تحليل وتصميم نظم المعلومات
الطريقة الوحيدة للمناداة على constructor آخر في نفس الكلاس هو باستعمال this. لاتوجد طريقة أخرى بدون استعمال this حسب علمي
عدم استعمال this يعني عدم المناداة على ال constructor الآخر، أي تكرار نفس الكود، وهذا ما نريد تجنبه
public class Test {
private int a, b, c;
public Test(int aa, int bb, int cc) {
a = aa;
b = bb;
c = cc;
}
public Test(int aa, int bb) {
a = aa;
b = bb;
c = 10;
}
}