"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > الميراث والتعدد الأشكال في جافا: استخدام فئات فائقة ومسابقات فرعية

الميراث والتعدد الأشكال في جافا: استخدام فئات فائقة ومسابقات فرعية

نشر في 2025-02-06
تصفح:797

يشرح هذا المقال كيف أن ميراث جافا له علاقة "IS-A" بين الفئات الفائقة والفئات الفرعية ، مما يسمح للفئات الفرعية براث وتخصيص وظائف الفئة الفائقة. باستخدام تعدد الأشكال ، يمكن أن تحدد الفئات الفرعية سلوكيات فريدة ، مما يسمح بإعادة استخدام التعليمات البرمجية والمرونة في البرمجة الموجهة للكائنات.


في Java ، العلاقة بين الفئات الفائقة (فئة الوالدين) والفئات الفرعية (فئة الطفل أو الفئة المشتقة) في الميراث هي علاقة IS-A تعني أن الفئة الفرعية هي نسخة متخصصة من الطبقة الفائقة وراثة الوظائف (يمكن أن تكون القيود يكون تطبيقه) من فئة مستمدة من (CSU Global ، N.D). بمعنى آخر ، إذا وراثة الفئة B من الفئة A ، فإن الفئة B "هي" نوع من الفئة A. تتيح هذه العلاقة من الفئة B استخدام جميع الوظائف (يمكن تطبيق القيود) التي توفرها الفئة A ، مع إضافةها أيضًا وظائف محددة أو/عن طريق تجاوز بعض أو جميع وظائف الفئة A. قدرة فئة الطفل على تجاوز الوظيفة هي شكل من أشكال الأشكال.

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

على سبيل المثال: الكلاب والقطط والبوم هي حيوانات:

Superclass

public class Animal {
    public void makeSound() {
        System.out.println("Makes a Sound");
    }
}

الفئة الفرعية للحيوانات

public class Domesticated extends Animal {
    public void friendly() {
        System.out.println("This animal is friendly.");
    }
}

فئة فرعية من المستأنسة

public class Undomesticated extends Animal {
    public void notFriendly() {
        System.out.println("This animal is not friendly.");
    }
}

فئة فرعية من المستأنسة

public class Cat extends Domesticated {
    @Override
    public void makeSound() {
        System.out.println("Meow");
    }
}

فئة فرعية من undomesticated

public class Owl extends Undomesticated {
    @Override
    public void makeSound() {
        System.out.println("Hoots");
    }
}

الفئة الرئيسية لإخراج النتيجة

public class inheritanceExample {
    public static void main(String[] args) {
        Dog myDog = new Dog();
        Cat myCat = new Cat();
        Owl redOwl = new Owl();

        System.out.println("MY Dog:");
        myDog.makeSound(); // Outputs: Bark
        myDog.friendly();  // Outputs: This animal is friendly.
        System.out.println();

        System.out.println("My Cat:");
        myCat.makeSound(); // Outputs: Meow
        myCat.friendly();  // Outputs: This animal is friendly.
        System.out.println();

        System.out.println("Red Owl:");
        redOwl.makeSound(); // Outputs: Hoot
        redOwl.notFriendly(); // Outputs: This animal is not friendly.
     }
}

ملاحظة: تتجاوز طرق Makeound () في فصول الكلب والقطط طريقة MakeOund () في فئة الحيوان.

بالإضافة إلى ذلك ، فئة الكلاب هي فئة فرعية للفئة المستأنسة وهي فئة فرعية لفئة الحيوان.

طفل "→"
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

في Java ، يمكن أن يكون للفئة الفرعية فئة فرعية واحدة فقط ، على سبيل المثال ، لا يمكن لفئة الكلاب أن تحتوي على حيوان فائق وحيوان فائق الفئة ، ما يلي غير مسموح به.
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

وبعبارة أخرى ، يمكن أن يكون للفئة الفرعية فئة فرعية واحدة فقط ، ... ولا يُسمح لها بوجود العديد من الآباء أو الأجداد أو الأجداد.
Inheritance and Polymorphism in Java: Using Superclasses and Subclasses

في الختام ، يسمح ميراث Java للفئات الفرعية باستخدام وتوسيع وظائف الفطريات الفائقة ، وتجسيد العلاقة "IS-A" وتسهيل تعدد الأشكال. هذا يعزز قابلية إعادة استخدام التعليمات البرمجية والمرونة والاتساق من خلال تمكين سلوكيات محددة في الفئات الفرعية مع الحفاظ على الخصائص المشتركة عبر طبقة فائقة مشتركة.


مراجع:

Cus Global (n.d.). الوحدة 1: العمل مع الميراث [محاضرة تفاعلية]. في جامعة ولاية كولورادو العالمية ، CSC372: برمجة II ، قسم علوم الكمبيوتر. قماش. تم الاسترجاع في 8 يونيو ، 2024 ، من https://csuglobal.instructure.com/courses/94948/pages/module-1-overview؟module_item_id=4868813 Budap &&]

دروس Java ™ (N.D.). تعلم لغة جافا: واجهات وميراث. أوراكل. تم الاسترجاع في 8 يونيو 2024 ، من Https: //docs.oracle.com/javase/tutorial/java/iandi/polymorphism.html


نشرت في الأصل في Alex.omegapy على متوسطة تم نشرها بواسطة مستوى الترميز في 1 نوفمبر 2024.

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/alex_ricciardi/inheritance-and-polymorphism-in-java-using-superclasses-and-subclasses-12jn؟1 يمسح
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3