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

static variable

مغلق
بدأه akram في 9 ديسمبر 2004 · 29 رد · 4,928 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

سؤال بسيط لكنه حيرني لما لاتقبل المدوده aMethod الرجوع متغير من نوع static

حيث انه عند ازاله الكلمه المحجوزه static ينفد الكود؟

 class Test21 {

	public  int aMethod(){
   static int i = 0;
  i++;
  return i;
	}
 	 
  public static void main(String args[]){
  
    Test21 t = new Test21();
    t.aMethod();
    int j = t.aMethod();
    System.out.println(j);
	}
}

زورو موقعنا

www.algabal.com

#2

لان static ستستخدم في الكلاس كلها لذلك لا يجوز استخدامها في الاسلوب لذلك تكتب كما في هذا المثال

class Test21 {
  static int i = 0;
public  int aMethod(){

 i++;
 return i;
}
  
 public static void main(String args[]){

   Test21 t = new Test21();
   t.aMethod();
   int j = t.aMethod();
   System.out.println(j);
}
}

انظر الى التالي

/index.php?showtopic=49569

تم تعديل هذه المشاركة بواسطة مجدي محمود في 9 ديسمبر 2004 في 01:32

لست متواجد بشكل يومي

#3

السلام عليكم وجزاك الله خيرا علي الرد السريع

ولكن هل تعني ان static variable لايستخدم الا كا instance variable او class variable

ولايمكن استخدامه داخل اي method ?

زورو موقعنا

www.algabal.com

#4
اقتباس
ولايمكن استخدامه داخل اي method ?

نعم

static variable تستخدم ك class variable

لست متواجد بشكل يومي

#5

توضيح بسيط:

اقتباس
ولايمكن استخدامه داخل اي method ?

ولكن الصحيح:

هو انك تستطيع استخدامه داخل "الميثود" ولكن لا تستطيع تعريفه هناك...

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

لأنها غير قابلة للتجزئة ، وتختلف فيما بينها بالألوان و الأشكال ، وتمتلك القدرة على تكوين علاقات مع بعض. نستطيع أن نقول أن أجزاء الليغو أبدية. وهي تشبه الذرات في تراكيبها للكون

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

#6
اقتباس
ولكن الصحيح:

هو انك تستطيع استخدامه داخل "الميثود" ولكن لا تستطيع تعريفه هناك...

بالضبط كتبت في الكود صحيح وكتبت الشرح خطا

لست متواجد بشكل يومي

#7

الاخ صاحب السؤال

حتى يتضح لك الامر تماما

عليك ان تفهم معنى الكلمة المحجوزة static

وعندما تفهم معناها جيداً ستعرف ان تعريف متغير داخل مثد وجعله ستاتك امر ليس له معنى

حتى وان سمح السينتاكس حق اللغة لهكدا امر

وحتى يتضح لك الامر اسمح لي بشيء من التوضيح

لنفرض امن لدينا كلاس بسيط اسمه Mul

public class Mul
{
public void mul()
{
int i=2;
int j=3;
System.out.println(i*j);
}
}

هدا الكلاس البسيط كما ترى يحتوي على مثد mul تقوم تقوم بعملية الضرب بين عددين

ولاحظ ان العددين المضروبين ثابتين بالقيمة اي كل مرة نستدعي المثد mul

ينحصل على النتيجة نفسها وهي عملية الضرب بين 2*3 والناتج طبعا 6

Mul a = new Mul();
a.mul();

ولا يمكن بأي حال من الاحوال تغيير قيمة العددين المضروبين الا بتغيير قيمهم داخل المثد mul نفسها

فلنطور هدا الكلاس بحيث يصبح عندنا امكانية التحكم بقيمة العددين المضروبين

وحفظ ناتج الضرب في متغير جديد

فيصبح الكلاس كدا

public class Mul
{
public int i=2;
public int j=3;
public int result=i*j;
public void mul()
{
result=i*j;
System.out.println(result);
}
}

هدا الكلاس الجديد يختلف اختلاف كبير عن الكلاس السابق

بحيث ان هدا الكلاس الجديد اقوى وافضل من السابق

فمن خلال هدا الكلاس يمكننا ان نستخدم المثد mul لضرب اي عددين وليس فقط 2و3

ولدينا متغير يحفظ ناتج الضرب

Mul a=new Mul();
a.mul();   //نحصل على 6 كناتج الضرب  لان القيم الافتراضية للعددين المضروبين هي 2و3
a.i=5;                                 // نغير قيمة العدد المضروب الاول
a.j=3;                               // نغير قيمة العدد المضروب الثاني
a.mul();                           // نحصل على 15 كناتج الضرب الجديد

وهكدا كما ترى يمكننا ضرب اي عددين وكلما علينا فعله

نسوي اوبجكت من الكلاس Mul

نحدد قيم العددين المضروبين

ثم نستخدم المثد mul للحصول على ناتج الضرب

كما تلاحظ لاستخدام المثد mul لضرب عددين

لا بد لنا من انشاء اوبجكت

وكلما احتجنا لضرب عددين لا بد من استخدام اوبجكت من الكلاس Mul

ركز معي الان

لنفرض ان معنا 3 اوبجكتات من كلاس Mul

a1,a2,a3

Mul a1= new Mul();
Mul a2= new Mul();
Mul a3= new Mul();

ركز في الكود التالي

a1.mul();
a2.mul();

الاوبجكت الاول a1 قام بعملية ضرب العددين i,j وخزن الناتج في result

الاوبجكت الثاني a2 قام بعملية ضرب العددين i,j وخزن الناتج في result

والسؤال هو

ما هي العلاقة بين result اللي في الاوبجكت a1 و result اللي في الاوبجكت a2؟؟

وهل تتغير قيمة ال result اللي في الاوبجكت a3 ؟؟

الاجابة طبعا ان كل اوبجكت له متغير result منفصل تماما عن ال result تبع الاوبجكتس الاخرى

فلا علاقة بينها اطلاقا

فالان نريد ان نعدل في الكلاس السابق بحيث يحصل التالي

ادا قمنا بعملية الضرب في اوبجكت واحد تتغير قيمة ال result في كل اوبجكتات الكلاس Mul

لكي نقوم بهدا التعديل

نحتاج ان يكون المتغير result في الكلاس Mul متغير مشترك بين كل اوبجكتات الكلاس

بحيث اي تعديل في قيمة ال result تسبب تعديل في result عند جميع الاوبجكتات

لحل هده المشكلة

نستخدم static variable

ويصبح الكلاس الجديد بعد التعديل

public class Mul
{
public static int i=2;
public static int j=3;
public static int result=i*j;
public static  void mul()
{
result=i*j;
System.out.println(result);
}
}

فالتعديلات الجديدة هي اننا جعلنا المتغير result جعلناه static

وهدا التعديل حتم علينا ان نجعل المثد mul نجعلها static ايضا

وكدلك بقية المتغيرات لا بد ان تكون static

هدا كل ما في الامر والان

لنفرض ان لدينا ثلاثة اوجكتات من الكلاس Mul

a1,a2,a3

Mul a1= new Mul();
Mul a2= new Mul();
Mul a3= new Mul();

ففي البداية

قيمة ال result في كل من a1,a2,a3 هي 6

ولنفرض اننا قمنا بالعمليات التالية على الاوبجكت a1

a1.i=4;

a1.j=5;

a1.mul();

الان تغيرت قيمة ال result في الاوبجكت a1 الى 20 ناتج ضرب 4*5

ومع اننا عدلنا في ال a1 بس لكن

تغير قيمة ال result في ال a2 وال a3

لان المتغير result متغير static فلدلك هو مشترك بين كل الاوبجكتات

الخلاصة ادا كنت فهمت كلامي جيدا

يتضح لك

ان وجود static varaible داخل مثد ليس له اي معنى

لان ال static varaible الغرض منه جعل ال variable مشترك بين كل الاوبجكتات

بينما المتغيرات المعرفة داخل المثد هي متغيرات مؤقتة اصلا تستخدمها المثد فقط

ولا يمكن للاوبجكت نفسه الوصول الى المتغيرات داخل المثد

اممم

حاولت جاهدا ان اوضح كل شيء وببساطة تامة

ادا لم تفهم كل كلامي فسامحني فقد بدلت قصار جهدي للتوضيح

ادا لم تفهم بعض كلامي فلك ان تستوضح

تحياتي للجميع والسلام ختام

لا بد من صنعاء وان طال السفر

#8
اقتباس
ولكن الصحيح:

هو انك تستطيع استخدامه داخل "الميثود" ولكن لا تستطيع تعريفه هناك...

بالضبط كتبت في الكود صحيح وكتبت الشرح خطا

عشان تستخدم ستاتك فريبل في مثد

لا بد لا بد من ان تكون المثد نفسها ستاتك

من يعرف الحكمة او سبب هدا ؟

لا بد من صنعاء وان طال السفر

#9

وبعدين معاكم جننتنا ب ستاتيك يا san3aniJava :)

اقتباس
من يعرف الحكمة او سبب هدا ؟

لان لازم يكون نفس الشئ يعني لازم يكون هناك توافق في المثد .

لست متواجد بشكل يومي

#10

صار بتألف كتاب كامل ب static على كتر ما انحكى عنها

لا إله إلا الله العظيم الحليم,لا إله إلا الله رب العرش العظيم,لا إله إلا الله رب السموات ورب الأرض ورب العرش الكريم.

#11

أخي ببساطة الشىء الوحيد الذي تستطيع تعريفه ضمن method هو final فقط لا غير00

لا إله إلا الله العظيم الحليم,لا إله إلا الله رب العرش العظيم,لا إله إلا الله رب السموات ورب الأرض ورب العرش الكريم.

#12
اقتباس
وبعدين معاكم جننتنا ب ستاتيك يا san3aniJava

من يعرف الحكمة او سبب هدا ؟

لان لازم يكون نفس الشئ يعني لازم يكون هناك توافق في المثد .

هههههه

معلش اخي عشان تثبت المعلومة في المخ

بس على فكرة انت ما جاوبت على السؤال لكنك صغت السؤال بطريقة مختلفة هههههه

وما زال السؤال قائما ولكن الاخ مجدي عدل صيغته فاصبح

عندما نستخدم ستاتك فريبل في مثد يشترط ان تكون المثد ستاتك

فما هو السر في اشتراط هدا التوافق بين الفريبل والمثد ؟؟

تحياتي والسلام ختام

لا بد من صنعاء وان طال السفر

#13

اخي طارق

نعم قد اتضح لنا

انه لا يصح استخدام static varaible داخل مثد

والسبب في دلك

ان ال static الغرض منها جعل المتغير متغير مشترك بين الاوبجكتس

والفريبلس اللي داخل المثدس هي فريبلس مؤقتة لا يمكن بأي حال من الاحوال الوصول اليها فمن البديهي لا يمكن مشاركتها بين الاوبجكتس

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

انتهينا من هده النقطة

لكن السؤال المطروح والمتعلق بـال static varibables

عندما نستخدم ستاتك فريبل في مثد يشترط ان تكون المثد ستاتك

فما هو السر في اشتراط هدا التوافق بين الفريبل والمثد ؟؟

شخصياً اعتقد

لاجابة هدا السؤال تحتاج الى فهم معنى static جيدا

فهم طريقة خفظ المتغيرات في الداكرة

فهم طريقة تعامل الاوبجكتس مع الداكرة

تحياتي للجميع والسلام ختام

لا بد من صنعاء وان طال السفر

#14

يا جماعة في حدا لسع عنده سؤال عن static قولوا لا تخجلوا :)

لا إله إلا الله العظيم الحليم,لا إله إلا الله رب العرش العظيم,لا إله إلا الله رب السموات ورب الأرض ورب العرش الكريم.

#15

شكرا للجميع لقد كفيتو ووافيتو

زورو موقعنا

www.algabal.com

#16

شكرا لك يا اخ san3aniJava

على هذا التوضيح

اخوي الصنعاني بكل صراحة اكثر من مره حاولت ارسلك رسالة خاصه ولكن تطلع لي رساله تفيد ان مالي صلاحية بذلك

المهم اتمنى منك مراسلتي على هذا البريد ab0_s3d@yahoo.com

وشكرا

11_03_06_12_48_57_1142110137Image(_66).jpg

#17

حياك الله اخي -alt-

اضفتك اخي الكريم في ماسنجري ان شاء الله القاك في اقرب وقت

لي شرف التحدث اليك

بس ذكرتني بهذا الموضوع هههههه

ما زال السؤال قائماً

عندما نستخدم ستاتك فريبل في مثد يشترط ان تكون المثد ستاتك

فما هو السر في اشتراط هدا التوافق بين الفريبل والمثد ؟؟

يحتاج منكم الامر الى قليل من التفكير

رفع للفائدة

لا بد من صنعاء وان طال السفر

#18

السلام عليكم ورحمة الله وبركاته

ان القول بانه لا يمكن استعمال متغيرات (فاريابل) ستاتك static إلا داخل طرق ستاتك static methods فهو غير صحيح لأن المتغيرات الستاتك تخزن مع الكلاس من أو تحميل لها ، وهي متوفرة لكل عناصر الفئة من methods and constructors التي لها الخاصية ستاتك أو ليس عندها الخاصية ستاتك ، حيث يتم العمل عليها داخل كل طرق الفئة، ولها استخدامات هامة جدا مثلا لعد عدد الكاءنات المنشأة من الكلاس أو اغراض عامة أخرى.

أما الطرق الستاتك فلا يمكن استعمال بداخلها إلا متغيرات وطرق ستاتك ولن اتطرق للسبب لانه شيء منطقي ومشروح كثيرا في المنتدى على ما اعتقد

والسلام عليكم

#19
اقتباس
أما الطرق الستاتك فلا يمكن استعمال بداخلها إلا متغيرات وطرق ستاتك ولن اتطرق للسبب لانه شيء منطقي ومشروح كثيرا في المنتدى على ما اعتقد

ما زال السؤال قائماً

تم تعديل هذه المشاركة بواسطة san3aniJava في 29 أبريل 2005 في 23:07

لا بد من صنعاء وان طال السفر

#20

السلام عليكم

ايضا static variable يتم تخزينة في static storage area و بالتالي يكون موجود لجميع objects in the same class. بينما نكون المتغيرات التي تخزن داخل method . تخزن في stack area.

#21

السلام عليكم

بالنسبة لما ذكرته سابقا

اقتباس
أما الطرق الستاتك فلا يمكن استعمال بداخلها إلا متغيرات وطرق ستاتك ولن اتطرق للسبب لانه شيء منطقي ومشروح كثيرا في المنتدى على ما اعتقد

والسبب في ذلك أن المتغيرات الستاتك تخزن مع الكلاس وليس مع كائناتها ومن المسموح استدعاء الطرق الستاتك من خلال الكلاس المعرفة فيها قبل انشاء أي كائن منها لذلك يجب ان تستعمل الطرق الكلاس ما هو موجود عند استدعائها واذا تم استدعاؤها قبل انشاء أي كائن فلا يتوفر لها سوى المتغيرات الستاتك. من هنا لا يمكن للطرق الستاتك أن تستعمل سوى متغيرات أو طرق ستاتك الخاصة بكلاسها

الطرق الغير ستاتك يمكن ان يستعمل كل شيء بداخلها ستاتك وغير ستاتك لأن المتغيرات والطرق ستاتك متوفرة للجميع ولأن المتغيرات الغير ستاتك تكون المتغيرات الخاصة بالكائن التي تطبق الطريقة الغير ستاتك عليه وتكون موجودة ويتم استعمالها مباشرة أو تحديدها بشكل صريح باستعمال this داخل الطريقة خاصة إذا كانت الطريقة فيها متغيرات محليمة لها فس اسم متغيرات الكائن Object variables. وداخل الطرق الغير ستاتك يمكن استدعاء طرق غير ستاتك لنفس الكلاس وتكون هذه الطرق يطبق على نفس الكائن الذي تطبق عليه الطريقة الذي تم الاستدعاء من داخلها

ارجو أن يكون الامر توضح أكثر

والسلام عليكم

#22
اقتباس
والسبب في ذلك أن المتغيرات الستاتك تخزن مع الكلاس وليس مع كائناتها ومن المسموح استدعاء الطرق الستاتك من خلال الكلاس المعرفة فيها قبل انشاء أي كائن منها لذلك يجب ان تستعمل الطرق الكلاس ما هو موجود عند استدعائها واذا تم استدعاؤها قبل انشاء أي كائن فلا يتوفر لها سوى المتغيرات الستاتك. من هنا لا يمكن للطرق الستاتك أن تستعمل سوى متغيرات أو طرق ستاتك الخاصة بكلاسها

كلام سليم 100%

واسمح لي ان اعيد كلامك نفسه نفسه بس بشكل مختلف قليل

اخونا الكريم kkhalil2005

اخبرنا

انه عند انشاء متغيرات instance variables

ان كانت هذه المتغيرات ليست static تصبح هذه المتغيرات خاصة بالاوبجكتات فقط

أي انه لا بد من انشاء اوبجكت حتى نستيطع التعامل مع هذه المتغيرات

بينما

ان كانت هذه المتغيرات static فتصبح هذه المتغيرات متحررة من الاوبجكتات

ويمكننا التعامل معها من الاوبجكتات او بدون الاوبجكتات

الان المثدس او الطرق كما يسميها اخونا الفاضل

اذا كانت static

فمثلها مثل المتغيرات تكون مش مرتبطة بالاوبجكتات اي يمكن التعامل معها من الابوجكتات او من غير الاوبجكتات

فالان

اذا عندنا مثد static

وبدنا نستخدم داخلها متغير مش static

هذا المتغير اللي مش static كما قلنا سابقاً خاص بالاوبجكتات يعني لا بد من انشاء اوبجكت حتى نستطيع التعامل معه

ولكن المثد لا تحتاج الى اوبجكت كونها static

فحصلت هنا مشكلة

المثد لا تحتاج الى اوبجكت

والمتغير المستخدم داخل المثد يحتاج الى اوبجكت

فعشان كذا عشان نتخلص من هذه المشكلة

كان لا بد ضروري نلزم المبرمج انه يستخدم متغيرات static فقط داخل المثد static

فالان المثد ستاتك لا تحتاج الى اوبجكت

والمتغير ستاتك لا يحتاج الى اوبجكت

خلاص ممكن نستخدم المثد بكل سهولة

طبعا الاخ نبهنا الى نقطة مهمة

اذا واحد سئل

ليش الشيء ال static ما يحتاج الى اوبجكت

فالجواب

هذا هو معنى كلمة static اصلاً

ومصممي الجافا سوو ال static لغرض عمل مثدات ومتغيرات يمكن التعامل معها بدون اوبجكتات

فان سئلتم كيف استاطاعوا ان يجعلوا ال static لا يحتاج الى اوبجكت

الجواب كما قال اخونا الكريم

قاموا بخزن المتغيرات والمثد ال static في مكان في الذاكرة مختلف عن المكان اللي تخزن به بقية المثد والمتغيرات اللتي ليست static

وجعلوا هذا المكان اللي في الذاكرة (الخاص ب static ) جعلوه متوفر للجميع

فبهذا نستطيع التعامل مع اي مثد او متغير static مباشرة دون الحاجة الى اوبجكت

لأن هذه المثد او المتغير ال static مخزونة في مكان في الذاكرة عام ومشترك

=======================

فعشان يكتمل الموضوع 100% عن ال static

ما رأيكم نستمر في النقاش قليلاً

واضع عليكم هذا السؤال

ما فائدة ال static اصلاً؟

بكلمات اخرى

لماذا قام مصمموا الجافا اصلاً بعمل شيء اسمه static

ما المشكلة لو اننا انشأنا اوبجكتات اولاً ثم نتعامل مع المثد و المتغيرات من خلال الاوبجكتات وبهذا لا حاجة للـ static

بكلمات اخرى

ما فائدة عمل متغير او مثد يمكن الوصول اليها من دون اوبجكت ؟ طالما اني وبكل سهولة اقدر اسوي اوبجكت ومن خلاال الاوبكت اصل الى اي مثد او متغير

تحياتي والسلام ختام

تم تعديل هذه المشاركة بواسطة san3aniJava في 30 أبريل 2005 في 08:50

لا بد من صنعاء وان طال السفر

#23

المبرمج في أي لغة غير شيئية التوجه لم يتعامل مع طرق غير ثابتة (static). مثلا. لغة الباسكال، بيسك، فورتران، وسي، وغيرها: يقوم البرنامج بسلسلة من الأوامر أو الطرق أو العمليات Procedure, Subdirectory أو أيا كان اسمها، لتنفيذ ما يريد. هذه العمليات كلها بالطبع static.

بمعنى آخر، لو كنت مبرمجا في أي من هذه اللغات، فكل عملية أو دالة قمت باستعمالها أو إنشائها فهي ثابتة (static). الأوامر أو المتغيرات الثابتة مثل دالة الجذر التربيعي، دالة تشغيل البرنامج main، دالة معرفة حجم الذاكرة، دالة معرفة الوقت، وغيرها الكثير كلها لا تعتمد على شيء أو كائن معين يجب توفره لاستخدام هذه الأوامر. أما الأوامر أو الطرق الغير ثابتة (non-static) فهي التي غريبة على مبرمجي اللغات الإنشائية التي سبق وذكرناها!

#24

السلام عليكم

سبب وجود الstatic على ما اعتقد انه تمكين المبرمجين من تعريف الثوابت وتخزينها مرة واحدة فقط بالذاكرة مع الكلاس حيث أن المتغيرات إذا لم تكن ستاتك فتخزن بالذاكرة بعدد ما يوجد كائنات من الكلاس مثل Math.PI وكل الثوابت الموجودة في المكتبات البرمجية

ومن ناحية ثانية إذا كان هناك قيمة مشتركة بين كل كائنات الكلاس مثل نسبة الفائدة للحسابات المصرفية حيث ان كل هذه الحسابات تعمل بنفس نسبة الفائدة. فهنا يفضل بل يجب جعل نسبة الفائدة متغير ستاتك ليتخزن مرة واحدة فقط ويكون هو نفسه بالنسبة لكل الحسابات وحيث ان لم نضعه ستاتك سيتخزن مع كل الحسابات واذا احتجنا لتخيير قيمته فكيف سنغير هذه القيمة في كل حساب. فمن الاجدر ان تخزن هذه النسبة مرة واحدة فقط وهذا ما تسمح به متغيرات الستاتك

وكذلك إذا أردنا اجراء ترقيم تلقائي لكائنات الكلاس مثل ترقيم تلقائي للحسابات المصرفية فيجب استعمال عداد واحد فقط لينتج هذه الارقام ولا يمكن ان يكون هذه العداد متغير غير ستاتك لانه كلما انشئ حساب جديد سيتمهد بنفس القيمة

وكذلك بالنسبة للطرق الستاتك فنحتاج إليها حيث اذا كانت الطريقة تعمل على متغرات ستاتك فقط فمن الاجدر جعل هذه الطريقة ستاتك

وهناك الكثير من الطرق الستاتك في المكاتب البرمجية التي توفر خدمات مباشرة دون الحاجة الى ان يكون عندنا كائن من الكلاس خاصتها ومنها من يكون عمله انشاء كائن

والسلام عليكم

#25

اخي الصنعاني فرص احب ان احاول الأجابة على سؤالك

عند تعريف Class معين فان هذا يعني حجز مكان في الذاكرة للمتغيرات الخاصة بال Class اي ان الذاكرة لا تحجز الا للمتغيرات الStatic

واما المتغيرات الخاصة بالكائن Object Variableاو ما يسمى بخصائص الكائن فيتم حجز مكان في الذاكرة ليس عند تعريف الكائن بل عند انشائه اي عندما نقوم باستدعاء ال new في هذه الحالة يعلم البروسيسور كم من الأماكن يحتاجها الكائن في الذاكرة

بمعنى اخر ان الstaticيوجد لها عنوان واحد في الذاكرة والمتغيرات العادية يحجز لها لكل كائن مكان . ولذلك من ميزات الجافا ان الميثود static لا يمكن الا استدعاء متغير من نفس النوع حتى تعلم الميثود أي خلية في الذاكرة يتم استدعاءها

المتغيرات العادية ( Object Variable) او Static يمكن استدعاءها من method غير ساكنة لأن الوظائف الغير ساكنة تعلم عناوين المتغيرات لهذا الكائن في الذاكرة الرئسية كما تعلم عنوان المتغير الساكن.

ان لم يقتنع الصنعاني بكلام بني خولان فمالنا الا ان نبحث عن واحد ذماري كي يقنعه

ها ها ها ها

تم تعديل هذه المشاركة بواسطة khwlani في 1 مايو 2005 في 12:52

اللهم انا نسألك علما نافعا ونعوذ بك من حماقة الجهلاء

هذا الموضوع مغلق.

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