البرمجة

الفارق بين الأعضاء الثابتة وغير الثابتة في جافا

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

في الكلاس “Class1.java”، لدينا متغير num الذي هو غير ثابت وينتمي إلى كائن من الكلاس. ولكن المشكلة تكمن في محاولة الوصول إليه من داخل طريقة Main، والتي هي طريقة ثابتة. يجب أن تكون الخطوة الأولى هي جعل num ثابتًا لتتيح للدوال الثابتة الوصول إليه. يمكن فعل ذلك بإضافة كلمة المفتاح static إلى تعريف num كما يلي:

java
static int num = 3 + 2;

الآن، بمجرد أن يصبح num ثابتًا، يمكنك الوصول إليه من داخل الدوال الثابتة بدون مشاكل.

أما بالنسبة للكلاس “Class2.java”، يجب عليك إجراء بعض التغييرات. يجب أن تكون الدالة Main2 ثابتة أيضًا لتمكين الوصول إلى num الذي أصبح الآن ثابتًا. لذا يجب تعديل الكود كما يلي:

java
class Class2 { public static void Main2() { System.out.println(Class1.num); } }

بتلك التغييرات، يمكنك الآن استدعاء الدالة الثابتة Main2 من داخل الدالة الثابتة Main دون أية مشاكل. يتيح لك هذا الإجراء الوصول إلى الأعضاء الثابتة من داخل الأعضاء الثابتة والعكس.

المزيد من المعلومات

بالطبع، دعنا نوسّع المحادثة لفهم أعمق حول مفهوم الأعضاء الثابتة وغير الثابتة في لغة البرمجة جافا.

عندما نقول أن العناصر (المتغيرات أو الدوال) في البرمجة بجافا هي “ثابتة” أو “غير ثابتة”، فإننا نشير إلى خاصية تكوينها بوصفها جزءًا من الكائن (Object) أو بوصفها جزءًا من الكلاس نفسه.

  1. الأعضاء الثابتة (Static Members):

    • عناصر تنتمي إلى الكلاس نفسه بدلاً من كائن محدد.
    • يتم مشاركتها بين جميع الكائنات من نفس الكلاس.
    • يتم الوصول إليها باستخدام اسم الكلاس متبوعًا بفاصلة والاسم.
    • يمكنها الوصول إلى العناصر الثابتة الأخرى بشكل مباشر.
  2. الأعضاء غير الثابتة (Instance Members):

    • عناصر تنتمي إلى كائن محدد من الكلاس.
    • يتم إنشاؤها عند إنشاء الكائنات وتختلف قيمها من كائن إلى آخر.
    • يتم الوصول إليها باستخدام اسم الكائن متبوعًا بنقطة والاسم.
    • لا يمكن للعناصر غير الثابتة الوصول إلى العناصر الثابتة مباشرة.
  3. كلمة المفتاح static:

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

تجنب الوصول من داخل دالة ثابتة إلى عنصر غير ثابت يعود إلى الفلسفة الأساسية للبرمجة الكائنية حيث أن الدوال الثابتة تستخدم للأنشطة التي تكون مستقلة عن حالة معينة، بينما يتم استخدام الدوال غير الثابتة للتعامل مع خصائص الكائن الفريد.

من خلال فهم هذه النقاط، يمكنك بناء برامج جافا فعّالة وفهم كيفية تحقيق التفاعل بين الأعضاء الثابتة وغير الثابتة بشكل صحيح.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

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