ايه هو ال this ال this ببساطه هى كلمه محجوزة (keyword) لما بتعرف اوبجت بتتشال وبيطحط مكانها ال object مثال
public class Test {
public int x;
public int y;
void sum (int x, int y) {
this.x = x;
this.y = y;
}
public int y;
void sum (int x, int y) {
this.x = x;
this.y = y;
}
}
شايف ال this هنا بينت ان ال x وال y قصدى بيهم الى تبعين لل object مش بتوع ال method -- لو انت شيلت كلمة this هيتعامل مع ال x وال y الى فى الmethod بس
لو الصوره لسه ما وضحتش ان شاء الله هتوضع فى المثال دا : تعالى نعرف اوبجكت من ال class
شايف ال this هنا بينت ان ال x وال y قصدى بيهم الى تبعين لل object مش بتوع ال method -- لو انت شيلت كلمة this هيتعامل مع ال x وال y الى فى الmethod بس
لو الصوره لسه ما وضحتش ان شاء الله هتوضع فى المثال دا : تعالى نعرف اوبجكت من ال class
Test t1;
Test t2;
الى هيحصل ان فى مكان هيتحجز فى ال memory لل object الاول بالمتغيرات بتوعه وهكذا فى ال object التانى ونقدر نقول شكل ال class هيبقى كدا ال this هتتشال ويتحط مكانها t1 زى كدا :
Test t2;
الى هيحصل ان فى مكان هيتحجز فى ال memory لل object الاول بالمتغيرات بتوعه وهكذا فى ال object التانى ونقدر نقول شكل ال class هيبقى كدا ال this هتتشال ويتحط مكانها t1 زى كدا :
public class Test {
public int x;
public int y;
void sum (int x, int y) {
t1.x = x;
t1.y = y;
}
public int y;
void sum (int x, int y) {
t1.x = x;
t1.y = y;
}
}
وال this هتتشال ويتحط مكانها t2 الى زى كدا :
public class Test {
public int x;
public int y;
void sum (int x, int y) {
t2.x = x;
t2.y = y;
}
public int y;
void sum (int x, int y) {
t2.x = x;
t2.y = y;
}
بالنسبة للحجات ال static ما بنعملش معاها this لانه بيتم استدعاءها عن طريق ال class مش ال object و ك logic ما ينفعش تبقى لكل object .....لو انتو لسه ما وصلتوش لل static ما تركزوش على السطر دا اوى
