كيفية تنفيذ أسلوب الاختباء في جافا



ستزودك هذه المقالة بمعرفة مفصلة وشاملة حول كيفية تنفيذ أسلوب الإخفاء في Java مع أمثلة.

في ، عليك توخي الحذر بشأن إمكانية إخفاء الطريقة. يمكن للطريقة التي تم إنشاؤها بنفس النوع والتوقيع في الفئة الفرعية إخفاء المتغيرات في فئة فائقة. في هذه المقالة ، سوف نفهم طريقة الاختباء في Java بالطريقة التالية:

ما هي طريقة الاختباء؟

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





شعار جافا

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



طريقة إخفاء كود جافا

package com.test class Parent {public static void foo () {System.out.println ('Inside foo method in parent class')} public void bar () {System.out.println ('Inside bar method in original class' )}} class Child توسع Parent {// Hiding public static void foo () {System.out.println ('Inside foo method in child class')} // Overriding public void bar () {System.out.println (' أسلوب الشريط الداخلي في الفئة الفرعية ')}} رمز الفئة العامة {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ إخفاء الطريقة ******************* ') p.foo () // هذا سيستدعي الطريقة في الصنف الأصل c .foo () // سيستدعي هذا الأسلوب في الصنف الأصل System.out.println ('**************** تجاوز الأسلوب ************ ******* ') p.bar () // سيستدعي هذا الأسلوب في الفئة الأصل c.bar () // هذا سيستدعي الطريقة في الفئة الفرعية}}

انتاج:

علامة html لفاصل الأسطر

في ما سبقعلى سبيل المثال ، تحتوي الفئة الفرعية Child على طريقة ثابتة foo () لها نفس الاسم والتوقيع كطريقة ثابتة في Parent من الفئة الممتازة. عندما نسمي p.foo () و c.foo () فإنه يستدعي طريقة foo () في فئة الأصل



على عكس تجاوز الطريقة حيث يستدعي p.bar () الطريقة في الفئة الأصلية ويستدعي c.bar () الطريقة في الفئة الفرعية.

نظرًا لأن الطرق الثابتة يتم حلها في وقت الترجمة أثناء امتثال فئة الأصل التجميعي ثم الفئة الفرعية ، ولا يمكننا ذلكلها طريقتان ثابتتان بنفس الاسم ، يتم حل كل من التابعين foo كطريقة foo () للفئة الأصلية.

ملخص

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

goto بيان c ++

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

بهذا نصل إلى نهاية مقالة طريقة الاختباء في جافا هذه. تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في مدونة 'Method Hiding in Java' وسنعاود الاتصال بك في أقرب وقت ممكن.