النتائج 1 إلى 9 من 9

الموضوع: ما معنى كلمة Static وما هو المتغير الإستاتيكي في الدوت نيت !!

  1. #1
    التسجيل
    08-12-2004
    الدولة
    Turkey-Istanbul
    المشاركات
    3,393

    Wink ما معنى كلمة Static وما هو المتغير الإستاتيكي في الدوت نيت !!

    السلام عليكم ..

    لربما مضى أكثر من سنه على مشاركتي في قسمي الحبيب الذي نلت شرف الإشراف عليه سابقاً ...

    هنا وبسبب الطلب المتزايد على الموضوع وجب عل يأن أقوم بتوضيح هذه القضية .. فهي من أصعب بل من أكثر الأمور سؤالاً من جمهور المبرمجين الجدد ...

    ما هو المتغير الإستاتيكي في بيشة الدوت نيت من اللغات المعروفة - السي شارب C#.net والفيجوال بيسك VB.net وغيرها ؟

    فكثيراً ما نتعامل معه .. ولكننا نغفل عن التفكير بمعناه أو عن مدى إستخدامه .

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

    ببساطة يمكن تلخيص وظيفة المتغير الإستاتيكي بأنه مكان يتم تخزين القيم فيه على مستوى ال Class وهو غير قابل للإستنساخ ... مثال :

    كود:
    class MyClass
    {
         public static int x = 1;
         public int y = 0;
         public MyClass()
         {
             x++;
             y++;
         }
    }
    لاحظ أن هناك متغيرين في هذا الكلاس ... وهما x و y . فالأول من النوع الإستاتيكي ... والثاني من النوع العادي .. وكلاهما عام .. أي أنه يمكننا التعامل معهم من الخارج .

    لو قمنا بأخذ Instance من الكلاس MyClass وأسميناه مثلاً .. Ins1 فإننا نستطيع التعامل مع المتغير y ولكننا لا نستطيع ذلك مع x والسبب أن المتغير x هو متغير إستاتيكي وهو حكر على الكلاس فقط ... ونستنتج من ذلك أن الجمل التالية :
    - ins1.x = 5 خطأ .
    - ins1.y = 5 صحيحة .
    - MyClass.x = 5 صحيحة .
    - MyClass.y = 5 خطأ .

    يعني الستاتيك حكر على الكلاس ... والعادي حكر على ال Instance from class .

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

    مع ملاحظة أنه لا يمكنك إستخدام كلمة Static في ال Function التي تنشأها .

  2. #2
    التسجيل
    03-08-2004
    الدولة
    تركيا
    المشاركات
    3,755

    رد: ما معنى كلمة Static وما هو المتغير الإستاتيكي في الدوت نيت !!

    و عليكم السلام
    اووووه ( مفيد جدا ) ، كيف حالك أسامة ان شاء الله زين

  3. #3
    التسجيل
    23-12-2004
    الدولة
    AD
    المشاركات
    4,350

    رد: ما معنى كلمة Static وما هو المتغير الإستاتيكي في الدوت نيت !!

    جميل جداً ...
    أعتقد نفس الطريقة مع الـ static variable في الجافا ...نفس الفكرة ...!
    حكر على الكلاس وليس على الاوبجكت ...

    مع ملاحظة أنه لا يمكنك إستخدام كلمة Static في ال Function التي تنشأها .
    لم أفهم قصدك بهذه الجملة ..!

    شكراً ...

  4. #4
    التسجيل
    08-12-2004
    الدولة
    Turkey-Istanbul
    المشاركات
    3,393

    رد: ما معنى كلمة Static وما هو المتغير الإستاتيكي في الدوت نيت !!

    هلا بالمراقب الخفي .... ما بشوفك إلا كل 5 سنوات مرة ... ( طبعاً تقصير مني )

    يا شجون العين ...
    كلامك صحيح ... هو نفسه .

    يعني :

    كود:
    class class1
    {
        static int y = 6;
     
        static void main()
        {
              static int x = 5 ;
        }
    }
    الجملة الخضراء صحيحة لأنها معرفة مباشرة في الكلاس ... أما الحمراء فهي داخل Method ... وهذا خطأ ..

  5. #5
    التسجيل
    23-12-2004
    الدولة
    AD
    المشاركات
    4,350

    رد: ما معنى كلمة Static وما هو المتغير الإستاتيكي في الدوت نيت !!

    اقتباس المشاركة الأصلية كتبت بواسطة oms مشاهدة المشاركة
    الجملة الخضراء صحيحة لأنها معرفة مباشرة في الكلاس ... أما الحمراء فهي داخل Method ... وهذا خطأ ..
    رائع جداً ... رائع ... وضحت الفكرة ..!
    شكراً جزييييلاً لك ...

  6. #6
    التسجيل
    08-12-2004
    الدولة
    Turkey-Istanbul
    المشاركات
    3,393

    رد: ما معنى كلمة Static وما هو المتغير الإستاتيكي في الدوت نيت !!

    شاكر مرورك

  7. #7
    التسجيل
    19-10-2006
    المشاركات
    2

    رد: ما معنى كلمة Static وما هو المتغير الإستاتيكي في الدوت نيت !!

    اخي الغالي \ شكرا على جهودك الواضحة بارك الله فيك
    ولكن لي تعقيب على تعريف STATIC
    ال Static معروف كما درسناه انه متغير Variable لكن يحتفظ بقيمته بمعنى في حال الخروج من الاجراء
    من خلال التعامل معه لا يفقد قيمته وتستطيع التعامل معه سواء على المستوى العام Public او في قاعدة IF أو حتى في Class .. تمنياتي للجميع بالتوفيق

  8. #8
    التسجيل
    19-03-2005
    الدولة
    العين
    المشاركات
    1,261

    رد: ما معنى كلمة Static وما هو المتغير الإستاتيكي في الدوت نيت !!

    تسلم على الدرس الخفيف ع البطن والمفيد للذهن ^..^
    ستاتك أوبشن مفيده في البرمجة وتظهر فائدتها إذا كان الــmathod استاتك
    فيعفينا من تصنيع أوبجكت للكلاس بينما يحقق عمله
    فمثلا ..في الجافا:
    يمكن تستخدم Mathod يحول المتغير الرقمي إلى نصي بدون خلق أي أوبجكت لأنه ماثود استاتسكي

    تسلم على الدرس وسمحلي ع الإطاله
    ليس العيب أن تقع العيب أن تضل على الأرض ولا تقف مجددًا
    I was GameMakerer, may back...I'M BACK o..o

    دردشها دردش دردشها

    ~.~

  9. #9
    التسجيل
    12-07-2004
    المشاركات
    247

    رد: ما معنى كلمة Static وما هو المتغير الإستاتيكي في الدوت نيت !!

    got it all
    thanx
    خط سير العمر
    الكويت - الرياض - الكويت

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •