طريقة التحميل الزائد
تنطبق الطريقة القصوى المستخدمة أعلاه فقط على بيانات النوع int. ولكن ماذا لو كنت تريد الحصول على الحد الأقصى لقيمة نوعين من البيانات ذات الفاصلة العائمة؟
الحل هو إنشاء طريقة أخرى بنفس الاسم ولكن بمعلمات مختلفة، كما هو موضح في الكود التالي:
public static double max(double num1, double num2) { if (num1 > num2) return num1;}
إذا قمت بتمرير معلمة int عند استدعاء الطريقة max، فسيتم استدعاء الطريقة max للمعلمة int؛
إذا تم تمرير معلمة مزدوجة، فسيتم استدعاء نص الطريقة الأقصى من النوع المزدوج، وهو ما يسمى التحميل الزائد للطريقة؛
أي أن هناك طريقتين لفئة لهما نفس الاسم، لكن قوائم المعلمات مختلفة.
يحدد مترجم Java الطريقة التي يجب استدعاؤها بناءً على توقيع الطريقة.
يمكن أن يؤدي التحميل الزائد للطريقة إلى جعل البرنامج أكثر وضوحًا وأسهل في القراءة. يجب أن تستخدم الأساليب التي تؤدي المهام ذات الصلة الوثيقة نفس الاسم.
يجب أن تحتوي الأساليب المحملة بشكل زائد على قوائم معلمات مختلفة. لا يمكنك التحميل الزائد للطرق التي تعتمد فقط على المعدلات أو أنواع الإرجاع.
نطاق متغير
نطاق المتغير هو جزء البرنامج الذي يمكن الرجوع إلى المتغير منه.
تسمى المتغيرات المحددة ضمن الطريقة بالمتغيرات المحلية.
يبدأ نطاق المتغير المحلي من وقت الإعلان عنه وينتهي في نهاية الكتلة التي تحتوي عليه.
يجب الإعلان عن المتغيرات المحلية قبل استخدامها.
يغطي نطاق المعلمة للطريقة الطريقة بأكملها. المعلمة هي في الواقع متغير محلي.
المتغيرات المعلنة في جزء التهيئة من الحلقة لها نطاق طوال الحلقة.
لكن نطاق تطبيق المتغير المعلن في نص الحلقة هو من إعلانه إلى نهاية نص الحلقة. يحتوي على إعلانات متغيرة كما هو موضح أدناه:
يمكنك الإعلان عن متغير محلي بنفس الاسم عدة مرات داخل إحدى الطرق، في كتل مختلفة غير متداخلة، لكن لا يمكنك الإعلان عن متغير محلي مرتين داخل كتلة متداخلة.