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