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

دروس مجردة في جافا - كسرها

تم النشر بتاريخ 2024-11-08
تصفح:245

Abstract Classes in Java – Breaking It Down

ما هي الفئة المجردة؟

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

لماذا نستخدم الفئات المجردة؟

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

إنشاء فئة مجردة

إليك كيفية إنشاء فئة مجردة تسمى الحيوان:

public abstract class Animal {
    abstract void makeSound();  // Abstract method, no body

    void sleep() {
        System.out.println("This animal sleeps.");
    }
}

في هذا المثال، makeSound() هي طريقة مجردة، مما يعني أنها لا تحتوي على نص بعد. ومع ذلك، يتم تنفيذ طريقة النوم () بالكامل.

توسيع فئة الملخص

الآن، لنقم بإنشاء بعض الفئات التي توسع فئة الحيوان:

public class Dog extends Animal {
    void makeSound() {
        System.out.println("The dog barks.");
    }
}

public class Cat extends Animal {
    void makeSound() {
        System.out.println("The cat meows.");
    }
}

يجب أن توفر كل من فئتي Dog وCat نسختها الخاصة من طريقة makeSound()، ولكنها ترث طريقة Sleep() كما هي.

فئة مجردة مقابل واجهة

  • الوراثة: يمكن للفصل توسيع فئة مجردة واحدة فقط ولكن يمكنه تنفيذ واجهات متعددة.
  • تنفيذ الطريقة: يمكن أن تحتوي الفئة المجردة على كل من الأساليب المجردة (بدون نص) والأساليب المنفذة بالكامل. يمكن أن تحتوي الواجهة (قبل Java 8) على أساليب مجردة فقط.
  • المنشئ: يمكن أن تحتوي الفئات المجردة على مُنشئات، بينما لا يمكن للواجهات ذلك.

التنفيذ الجزئي

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

public abstract class Bird extends Animal {
    void move() {
        System.out.println("The bird flies.");
    }
}

الآن، أي فئة تقوم بتوسيع Bird سوف ترث كلا من طريقة move() وطريقة Sleep() من Animal، ولكنها لا تزال بحاجة إلى تنفيذ makeSound().

التحدي: جربه بنفسك!

  1. إنشاء فئة مجردة تسمى مركبة باستخدام طريقة مجردة startEngine().
  2. أنشئ فئتين، السيارة والدراجة النارية، تعملان على توسيع المركبة وتنفيذ طريقة startEngine().
  3. أضف طريقة شائعة إلى المركبة، مثل stopEngine()، وشاهد كيف تعمل في الفئات الفرعية.

خاتمة

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

بيان الافراج تم نشر هذه المقالة على: https://dev.to/be11amer/abstract-classes-in-java-breaking-it-down-1k79?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3