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

اتبع هذا الدليل لمعرفة كيفية التحميل الزائد أو تجاوز الطرق في Java.

ما هي طريقة التحميل الزائد؟

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

يعرف المترجم الطريقة التي يجب استخدامها عن طريق التحقق من النوع وعدد المعلمات والترتيب الذي يتم وضعها فيه.

متعلق ب: استكشاف الوراثة في لغة برمجة جافا

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

يُعرف هذا النوع من تعدد الأشكال أيضًا بالربط الثابت أو المبكر.

انظر مثال طريقة التحميل الزائد أدناه:

فئة الحساب {
int cube (int x) {
إرجاع x * x * x ؛
}
مكعب مزدوج (x مزدوج) {
instagram viewer

إرجاع x * x * x ؛
}
مكعب عائم (عائم س) {
إرجاع x * x * x ؛
}
العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {
myMultiplication الحسابية = new Arithmetic () ؛
System.out.println ("مكعب 5 هو" + myMultiplication.cube (5)) ؛
System.out.println ("مكعب 5.0 هو" + myMultiplication.cube (5.0)) ؛
System.out.println ("مكعب 0.5 هو" + myMultiplication.cube (0.5)) ؛
}
}

انتاج:

مكعب 5 هو 125
مكعب 5.0 يساوي 125.0
مكعب 0.5 يساوي 0.125

يوضح الكود أعلاه كيف يمكنك الحصول على مكعب من أنواع مختلفة (int, مزدوج, يطفو) باستخدام نفس الطريقة.

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

ما هي طريقة تجاوز؟

يشير هذا إلى تطبيق مختلف لطريقة في فئة فرعية. يجب أن تكون الطريقة قد تم تعريفها بالفعل في الفئة الأصلية.

يجب أن يكون لطريقة التجاوز (أي تلك الموجودة في الفئة الفرعية) نفس توقيع الطريقة كما هو الحال في الفئة الفائقة. قد يكون نوع الإرجاع لطريقة التجاوز هو نفسه أو نوعًا فرعيًا من النوع الموجود في الطبقة الفائقة.

يستخدم التجاوز بشكل عام لتضمين تطبيق محدد لسلوك الكائن في الفئة الفرعية.

حساب فئة {
رسالة باطلة عامة () {
System.out.println ("
شكرا لفتح حساب معنا! ")؛
}
العامة الثابتة الفراغ الرئيسي (سلاسل سلسلة []) {
حساب myAccount = حساب جديد () ؛
Savings mySavings = new Savings () ؛
FixedDeposit myFixedDepo = new FixedDeposit ()؛
myAccount.message () ،
mySavings.message () ،
myFixedDepo.message () ،
}
}
حساب مدخرات الفئة يمتد {
رسالة باطلة عامة () {
System.out.println ("
شكرا لفتح حساب توفير معنا! ")؛
}
}
فئة الوديعة الثابتة توسع الحساب {
رسالة باطلة عامة () {
System.out.println ("
شكرا لفتح حساب الوديعة الثابتة معنا! ")؛
}
}

انتاج:

شكرا لفتح حساب معنا!
شكرا لفتح حساب توفير معنا!
شكرا لفتح حساب الوديعة الثابتة معنا!

يوضح المثال أعلاه كيف الطريقة رسالة() تم تجاوزه في الفئات الفرعية مدخرات و الودائع الثابتة. سيتم عرض رسائل مختلفة لأصحاب الحسابات المصرفية الذين لديهم حساب توفير وأولئك الذين لديهم حساب الوديعة الثابتة.

متعلق ب: ما تحتاج لمعرفته حول استخدام الجمل في جافا

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

لتجنب تجاوز طريقة ما ، استخدم الكلمة الأساسية نهائي.

الرسالة النهائية الباطلة () {
System.out.println ("
شكرا لفتح حساب معنا! ")؛
}

عندما تحاول فئة فرعية تجاوزها ، سيحدث خطأ في الترجمة.

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

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

تأمل الطبقة الفائقة حيوان.

فئة الحيوان {
نقل باطل عام () {
System.out.println ("
أستطيع التحرك.")؛
}
}

يوجد أدناه فئة فرعية تسمى سمكة، هذا يلغي يتحرك():

صنف سمك يمتد إلى حيوان {
نقل باطل عام () {
System.out.println ("
استطيع ان اسبح.")؛
super.move () ؛
}
العامة الثابتة الفراغ الرئيسي (سلاسل سلسلة []) {
سمك البلطي = سمك جديد () ؛
Tilapia.move () ؛
}
}

انتاج:

استطيع ان اسبح.
أستطيع التحرك.

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

رمز بسيط مع تعدد الأشكال

يعد تجاوز الأسلوب والحمل الزائد مهمين لتبسيط الكود ، والشفرة البسيطة هي ممارسة جيدة.

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

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

بعد ذلك في قائمة تعلم Java ، يجب أن تعمل مع المصفوفات. إنها هياكل بيانات مهمة تُستخدم لتخزين مجموعات من نقاط البيانات.

بريد إلكتروني
كيفية إنشاء وتنفيذ العمليات على المصفوفات في Java

تعلم جافا؟ دع المصفوفات تتعامل مع بياناتك بسهولة.

اقرأ التالي

مواضيع ذات صلة
  • برمجة
  • جافا
  • دروس الترميز
عن المؤلف
جيروم ديفيدسون (15 مقالة منشورة)

جيروم كاتب في MakeUseOf. يغطي مقالات عن البرمجة و Linux. إنه أيضًا متحمس للعملات المشفرة ويحتفظ دائمًا بعلامات تبويب في صناعة التشفير.

المزيد من Jerome Davidson

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.