نطاق المتغير في جافا [مع مثال على الترميز]

نشرت: 2021-02-05

جدول المحتويات

مقدمة

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

ما هو نطاق المتغير في جافا؟

كل متغير مستخدم في لغة برمجة له ​​نطاق. يخبر النطاق المترجم عن المقطع داخل البرنامج حيث يمكن الوصول إلى المتغير أو استخدامه. يمكن للمبرمجين تحديد نطاق المتغيرات معجميًا أو ثابتًا في حالة متغيرات Java.

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

1. متغيرات العضو بنطاق الصنف: متغيرات العضو هي أعضاء في فئة ومن ثم يتم الإعلان عنها داخل فئة ولكن ليس داخل أي طريقة أو وظيفة. وبالتالي ، يمكننا معالجة هذا النطاق المتغير مثل نطاق الفئة أو نطاق مستوى الفصل. يعلن المبرمجون عن هذه المتغيرات داخل الأقواس المتعرجة للفصل ( {} ) جنبًا إلى جنب مع معدِّل الوصول. يمكن للمبرمجين استخدام مثل هذه المتغيرات في أي مكان داخل فئة Java ولكن ليس خارجها.

مثال:

فئة عامة EgOfClassScope {

عدد صحيح خاص amt = 10 ؛

باطل عام على سبيل المثال الطريقة () {

amt + = 10 ؛

}

public void anotherExampleMethod () {

عدد صحيح AmtIncr = amt + 6 ؛

}

}

يمكننا أن نرى أن المتغير "amt" يمكن الوصول إليه من خلال جميع طرق الفصل. إذا استخدمنا مُعدِّل الوصول العام بدلاً من الخاص ، فسيصبح المتغير متاحًا من أي مكان داخل الحزمة.

المعدل حزمة Subclass World

عامة نعم نعم نعم

محمي نعم نعم رقم

افتراضي (لا
المعدل) نعم لا لا

نشر لا لا لا

2. النطاق المحلي أو نطاق الطريقة: يمكن للمبرمجين إعلان المتغيرات المحلية في نطاق محلي ذي نطاق أقل (لنفترض ، ضمن الطريقة). لا يمكن للمبرمجين الوصول إلى هذه المتغيرات من خارج طريقة Java ، حتى في نفس الفئة. لديهم حدود في إمكانية الوصول ، وتنتهي رؤيتهم عند انتهاء نطاق طريقة Java.

مثال 1:

فئة عامة EgOfMethodScope {

FirstMethod () باطلة عامة {

راتب صحيح = 6000 ؛

}

SecondMethod () باطلة عامة {

// سيواجه هذا خطأ وقت الترجمة يقول: لا يمكن حل المنطقة إلى متغير

الراتب = الراتب + 2000 ؛

}

}

إنه مثال على نطاق الطريقة. لقد قمت هنا بإنشاء المتغير "الراتب" داخل FirstMethod () {….}. لذلك ، ينتهي نطاقه في نهاية FirstMethod (). لذا ، فإن استخدام هذا المتغير في SecondMethod () سيؤدي إلى حدوث خطأ لأن المتغير "الراتب" خارج النطاق.

المثال 2:

فئة EgOfMethodScope2

{

int الخاصة g ؛

مجموعة الفراغ العام (int g)

{

this.g = g ؛

}

}

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

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

  • نطاق الحلقة: هناك حالات نعلن فيها عن المتغيرات داخل الحلقة. سيكون لهذه المتغيرات نطاق حلقة ويمكن الوصول إليها من داخل حلقة فقط.

مثال:

فئة عامة EgOfLoopScope {

قائمة <String> listOfEmp = Arrays.asList (“Karlos”، “Gaurav”، “Sue”، “Dee”)؛

iterateEmpName الفراغ العام () {

String all = "" ؛

لـ (أسماء السلاسل: listOfEmp)

{ // يبدأ نطاق الحلقة من هنا

all = all + ”” + الأسماء ؛

} // ينتهي نطاق الحلقة هنا

// ستواجه خطأ في وقت الترجمة يقول: لا يمكن حل الاسم إلى متغير - إذا حاولت الوصول إلى المتغير في السطر التالي

String lastEmpName = أسماء ؛

}

}

في هذه الطريقة ، iterateEmpName () ، يكون للمتغير "أسماء" نطاق حلقة (لأنه متغير عداد) ويمكن الوصول إليه داخل {and} من عبارة 'for'.

  • نطاق القوس: يمكن للمبرمجين تحديد نطاق إضافي في أي مكان داخل البرنامج. يمكن للمبرمجين تحديد هذا النطاق الإضافي باستخدام قوسين {and}.

مثال:

فئة عامة EgOfBracketScope {

EgAddOp عام باطل () {

عدد صحيح = 0 ؛

{ // يبدأ القوس من هنا

عدد صحيح لا = 6 ؛

توت = توت + لا ؛

} // ينتهي نطاق القوس هنا

// ستنشئ خطأ في وقت الترجمة يقول: لا يمكن حل الرقم كمتغير - إذا تم استخدامه في السطر التالي

رقم- ؛

}

}

النقاط البارزة حول نطاق المتغير في جافا

  • مثل لغات البرمجة الأخرى (C و C ++ و C #) ، علينا استخدام مجموعة من الأقواس المتعرجة ( {و} ) لتحديد نطاق المتغير في Java.
  • يمكننا الوصول إلى متغير من أي طريقة إذا حددناها داخل فئة خارج أي نطاق طريقة.
  • لاستخدام متغير بعد إنهاء الحلقة ، علينا أن نعلنه قبل أو أعلى جسم الحلقة مباشرة.
  • لكن لا يمكننا تنفيذه أو الوصول إليه بدون مُنشئ وطريقة Java وحظر.
  • نطاق المتغير الثابت يكمن داخل الفئة فقط.
  • يحدد النطاق المنطقة داخل البرنامج حيث يمكن الوصول إلى المتغيرات.

تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

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

إذا كنت ترغب في تحسين مهارات جافا الخاصة بك ، فأنت بحاجة إلى الحصول على يديك في مشاريع جافا هذه. إذا كنت مهتمًا بمعرفة المزيد حول Java ، وتطوير المكدس الكامل ، فراجع برنامج upGrad & IIIT-B Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، و 9+ مشاريع ، والمهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

ما هو النطاق المتغير في جافا؟

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

ما هي أنواع معدّلات الوصول في Java؟

هناك أربعة أنواع من مُعدِّلات الوصول في Java: عام ، ومحمي ، وافتراضي (حزمة) ، وخاص. جعل المتغير أو الفئة أو الوظيفة متاحة للجميع في أي مكان ، والحماية تجعلها في متناول الفئة التي تم تعريفها فيها بالإضافة إلى فئاتها الفرعية ، وتتيح (الحزمة) الافتراضية الوصول إلى أي فئة في نفس الحزمة والخاصة تجعلها في متناول الجميع فقط الفئة التي يتم تعريفها فيها.

ما هي الكلمة الأساسية الثابتة في جافا؟

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