ما هي المتغيرات الثابتة؟

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

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

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

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