ما هي الفئة المجردة في لغات البرمجة؟
في لغات البرمجة، الفئة المجردة هي فئة عامة (أو نوع كائن) تستخدم كأساس لإنشاء كائنات محددة تتوافق مع بروتوكولها، أو مجموعة العمليات التي تدعمها.
الفئة المجردة، في سياق Java، هي فئة فائقة لا يمكن إنشاء مثيل لها وتستخدم لتحديد أو تحديد الخصائص العامة. لا يمكن تكوين كائن من فئة Java abstract class؛ محاولة إنشائها ينتج عنها خطأ في المترجم فقط.
يتم الإعلان عن فئة الملخص باستخدام ملخص الكلمات الأساسية. تحتوي الفئات الفرعية الممتدة من فئة مجردة على جميع سمات فئة الملخص، بالإضافة إلى السمات الخاصة بكل فئة فرعية.
تحدد الفئة المجردة خصائص الفئة وطرق التنفيذ، وبالتالي تحدد واجهة كاملة. تعد فئات الخلاصة مفيدة عند إنشاء تسلسلات هرمية للفئات التي تمثل الواقع لأنها تتيح تحديد مستوى ثابت من الوظائف في بعض الطرق، ولكنها تترك تنفيذ طرق أخرى حتى يلزم تنفيذ محدد لتلك الفئة (فئة مشتقة).
شرح الفئة المجردة في لغات البرمجة.
في لغات البرمجة الشيئية (OOP)، تمثل الفئات كائنات في مجال المشكلة التي يهدف البرنامج إلى حلها. تشمل الفئات مجموعات من السمات (الخصائص) والسلوكيات (الطرق)، والتي يمكن أن تستند إلى فئات محددة مسبقًا.
يستخدم المبرمجون الوراثة لاشتقاق التنفيذ المحدد للفئات المجردة. تسمى الفئات المشتقة من الفئات المجردة بالفئات المشتقة. عندما يتم تطبيق هذا المبدأ عدة مرات متتالية، فإنه ينتج عنه تسلسل هرمي للفئات.
في هذا السياق، تكون الفئات المجردة في جذر هذا التسلسل الهرمي، وتُستخدم لفرض الطرق التي يجب تجاوزها في الفئات المشتقة، وبالتالي تجنب أخطاء وقت التشغيل المحتملة.
تعمل فصول الملخصات كقوالب لفئاتهم الفرعية. على سبيل المثال، تتمتع فئة التجريد Tree والفئة الفرعية Banyan_Tree بجميع خصائص الشجرة بالإضافة إلى الخصائص الخاصة بشجرة الأثأب.
من الضروري فهم الاختلافات بين فئة مجردة وواجهة. تحتوي الواجهة فقط على إعلانات طريقة أو طرق مجردة وأعضاء بيانات ثابتة، بينما قد تحتوي الأخرى على طرق مجردة ومتغيرات أعضاء وطرق محددة.
نظرًا لأن Java تدعم الوراثة الفردية فقط، يمكن للفئة تنفيذ عدة واجهات ولكن يمكنها توسيع واحدة منها فقط. يحتوي الفصل المجرد على طريقة مجردة واحدة على الأقل.
لن يكون للطريقة المجردة أي كود في الفئة الأساسية؛ سيتم إضافة الكود في فئاته المشتقة. يجب تنفيذ الطريقة abstract في الفئة المشتقة بنفس معدل الوصول ورقم ونوع الوسيطة وبنفس نوع الإرجاع مثل فئة الأساس.
لا يمكن إنشاء كائنات من نوع فئة مجردة، لأن التعليمات البرمجية لإنشاء مثيل لكائن من نوع منها ستؤدي إلى خطأ في الترجمة.