الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما الفرق بين هذه الكلاسات ؟؟

بدأه alQassam في 20 فبراير 2011 · 9 رد · 649 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الكرام

شيء حيرني

اذا نظرنا إلى هذا البرنامج

266462371.jpg

نجد ان الكلاس UseWarrior أنشأ اوبجكت من الكلاس Warrior ، صح ولا أنا غلطان ؟؟؟

طيب لماذا لم نضع هنا مثلا " ; ()Warrior battlel = new Warrior " قبل ان نكتب " ; () Warrior.battle "

-------------------------------------------------------------------------------------------------------------

سؤال عن البرنامج الثاني

542187311.png

في الكلاس Employee

لماذا لم نضع public static قبل جملة void doWork ؟؟

public فهمتها بس static حتى الآن لم افهمها

تم تعديل هذه المشاركة بواسطة alQassam في 20 فبراير 2011 في 10:17

#2
alQassam كتب:

نجد ان الكلاس UseWarrior أنشأ اوبجكت من الكلاس Warrior ، صح ولا أنا غلطان ؟؟؟

غلط

انت لم تنشأ كائن على هذه الـWarrior class

طيب لماذا لم نضع هنا مثلا " ; ()Warrior battlel = new Warrior " قبل ان نكتب " ; () Warrior.battle "

مش هتفرق

لان

Warrior battlel = new Warrior();
battlel.battle();
مساويه تمام لـ 
;()Warrior.battle

-------------------------------------------------------------------------------------------------------------

سؤال عن البرنامج الثاني

في الكلاس Employee

لماذا لم نضع public static قبل جملة void doWork ؟؟

بالنسبه للـ static انت بتضعها حسب استخدامك

يعنى اذا كنت تريد ان تستخدمها تضعها ان لم تحتاجها لا تضعها

Software Developer
Mahmoudkelany.com


 

#3

غلط ؟؟

طيب ايش الصح ؟؟

وانا لم اقل على الكلاس ، انا قلت من الكلاص

-------------------------------

متى سأحتاج static ومتى استغني عنها ؟؟

#4
/**
 *
 * @author Mahmoud Kelany
 */
public class StaticClass {

	private static int counter; // موحد على كل كائن من الكلاس 
	private int c;

	public StaticClass() {
    	counter++;
	}

	public static int getCounter() {
    	// only use static variable into static method
    	return counter;
	}

	public int sum() {
    	// use static variable and
    	//nonstatic variable in nonstatic method
    	return c + counter;
	}

	public static void main(String[] args) {
    	StaticClass s1 = new StaticClass();
    	StaticClass s2 = new StaticClass();
    	StaticClass s3 = new StaticClass();
    	StaticClass s4 = new StaticClass();
    	StaticClass s5 = new StaticClass();
    	StaticClass s6 = new StaticClass();

    	System.out.println(s1.counter);
    	System.out.println(s2.counter);
    	System.out.println(s3.counter);
    	System.out.println(s4.counter);
    	System.out.println(s5.counter);
    	System.out.println(s6.counter);
    	System.out.println(StaticClass.counter);
	}
}

انظر هذا الكود

هناك متغير counter هو static

ليه لان انا عاوز احسب عدد الobjects اللى هأخذها من هذه الكلاس

تمام كدا

طيب هاعمل الطريقه دى ازاى

ان فى constractor هاعمل زياده لهذا المتغير بمقدار واحد

طيب وبعدين

المتغير دا ممكن استدعيه على اى object انا اخذته من هذه الكلاس

وهيطلع نفس الناتج ليه

لانه عباره عن مكان ليس له علاقه بالobject ولكنه له علاقه بالكلاس ككل

عندما يتم حجز مكان لهذه الكائنات فى الـ main memory

يتم حجز مكان مستقل لكل كائن لكن مكان واحد للمتغير counterلانه للـ class وليس للـ object

امتى تستخدمه دا حسب شغلك

وحسب انت عاوز تعمل ايه بالظبط

وفيه فرق بين static و final

static = موحد او مشترك ويمكن تغيير قيمته

ام final = نهائى لا يمكن تغيير قيمته

Software Developer
Mahmoudkelany.com


 

#5

برضه مفهمتش

#6
alQassam كتب:

برضه مفهمتش

مقدرش افيدك غير بهذه الصوره فقط , وركز فالكلام والصوره

post-217802-070257200 1298188727_thumb.p

بعدها ان لم تفهم فعليك البحث على محركات البحث

المرفقات
Static.png

Software Developer
Mahmoudkelany.com


 

#7
alQassam كتب:

غلط ؟؟

طيب ايش الصح ؟؟

وانا لم اقل على الكلاس ، انا قلت من الكلاص

-------------------------------

متى سأحتاج static ومتى استغني عنها ؟؟

انت ذكرت

أنشأ اوبجكت من الكلاس Warrior

هى لم تقم بانشاء كائن من هذه الكلاس

الصح انها لم تنشأ كائن

متى ستحتاج ومتى ستستغنى

ذكرت لك حسب احتياجك

انظر هذا الموضوع حتى نهايته

/index.php?showtopic=236643

Software Developer
Mahmoudkelany.com


 

#8
اقتباس
هى لم تقم بانشاء كائن من هذه الكلاس

الصح انها لم تنشأ كائن

بلى أنشأت كائن من الكلاس

ننتظر اجابات أخرى :haha:

^^^^^^

ابو النذالة

اخوي حبيبي

انا مافهمت مثالك بتاتا

من اوله لآخره مش فاهمه

انا بعدني مبتدئ بالجافا

يعني لساتني باللفة

#9
alQassam كتب:

بلى أنشأت كائن من الكلاس

اين كلمه new التى حجزت بها مكان فى الذاكره ؟؟؟

ننتظر اجابات أخرى :haha:

انتظر براحتك

^^^^^^

ابو النذالة

ايه دا ؟؟؟؟؟ معناها ايه ان شاء الله ؟

اخوي حبيبي

انا مافهمت مثالك بتاتا

من اوله لآخره مش فاهمه

احسن بردوا

انا بعدني مبتدئ بالجافا

يعني لساتني باللفة

ربنا معاك

انت اصلا تجادل فى شىء لا تعلمه

فكيف لك ان تتقدم

لن ارد عليك مره أخرى

لانك لم تحترم من يقدم لك العون

اتمنى لك التوفيق

سلام

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 20 فبراير 2011 في 11:28

Software Developer
Mahmoudkelany.com


 

#10

انا احترم من يقدم لي العون

وانا آسف اذا خليتك تفهم من كلامي اني ما احترمك

انت فهمت من كلامي اني ما احترمك لأن لهجتك مختلفة عن لهجتي

وفي اكثر من اني قلتلك " اخوي حبيبي "

وبالنسبة لكلمة

اقتباس
ننتظر اجابات أخرى :haha:

انتظر براحتك

^^^^^^

ابو النذالة

ايه دا ؟؟؟؟؟ معناها ايه ان شاء الله ؟

انت يمكن لأنك ماعشتش في الخليج عشان كدا متعرفش طريقة مزحهم

-------------------------------------------------------------------

اقتباس
بلى أنشأت كائن من الكلاس

اين كلمه new التى حجزت بها مكان فى الذاكره ؟؟؟

انت بنفسك قلت

اقتباس

Warrior battlel = new Warrior();

battlel.battle();

مساويه تمام لـ

;()Warrior.battle

يعني استغنينا عن الـnew للاختصار

وبوسه على خدك

تم تعديل هذه المشاركة بواسطة alQassam في 20 فبراير 2011 في 11:42

مواضيع مشابهة