فئة مجردة مقابل الميراث
فئة الملخص والوراثة هما مفهومان مهمان موجهان للكائنات موجودان في العديد من لغات البرمجة الموجهة للكائنات مثل Java. يمكن اعتبار فئة الملخص كنسخة مجردة من فئة عادية (ملموسة) ، بينما يسمح الوراثة للفئات الجديدة بتوسيع الفئات الأخرى. فئة الملخص هي فئة لا يمكن تهيئتها ولكن يمكن تمديدها. لذلك ، فصول الملخص لا يكون لها معنى إلا إذا كانت لغة البرمجة تدعم الوراثة. في Java ، يتم الإعلان عن فئات Abstract باستخدام الكلمات الأساسية Abstract ، بينما يتم استخدام الكلمات الأساسية Extends للوراثة من فئة (فائقة).
ما هي فئة الخلاصة؟
بشكل نموذجي ، لا يمكن إنشاء مثيل لفئات الخلاصة ، والمعروفة أيضًا باسم فئات الأساس الخلاصة (ABC) (لا يمكن إنشاء مثيل لهذه الفئة). لذلك ، لا يكون لفصول الخلاصة معنى إلا إذا كانت لغة البرمجة تدعم الوراثة (القدرة على إنشاء فئات فرعية من توسيع فئة). تمثل فئات الملخصات عادةً مفهومًا أو كيانًا مجرّدًا مع تنفيذ جزئي أو بدون تنفيذ. لذلك ، تعمل فئات الخلاصة كصفوف أصلية يتم اشتقاق الفئات الفرعية منها بحيث يشارك الفصل الفرعي الميزات غير المكتملة للفصل الأصلي ويمكن إضافة الوظائف لإكمالها.
قد تحتوي فئات الملخص على طرق مجردة. يمكن للفئات الفرعية الممتدة لفئة مجردة تنفيذ طرق الملخص (الموروثة). إذا قام الفصل الفرعي بتنفيذ كل هذه الأساليب Abstract ، فهو فئة محددة. ولكن إذا لم يحدث ذلك ، فإن الفصل التابع يصبح أيضًا فئة Abstract. ما يعنيه كل هذا هو أنه عندما يرشح المبرمج فصلًا ما باعتباره ملخصًا ، فإنها تقول إن الفصل سيكون غير مكتمل وسيحتوي على عناصر يجب إكمالها بواسطة الفئات الفرعية الموروثة.هذه طريقة رائعة لإنشاء عقد بين اثنين من المبرمجين ، مما يبسط المهام في تطوير البرمجيات. المبرمج ، الذي يكتب التعليمات البرمجية ليرث ، يحتاج إلى اتباع تعريفات الطريقة بالضبط (ولكن بالطبع يمكن أن يكون لها التنفيذ الخاص بها).
ما هو الميراث؟
الوراثة هو مفهوم موجه للكائنات ، والذي يسمح للفئات الجديدة بتوسيع الفئات الأخرى. يتم استخدام الكلمات الأساسية الموسعة لتنفيذ مفهوم الوراثة في لغة برمجة Java. يوفر الوراثة بشكل أساسي إعادة استخدام الكود من خلال السماح بتوسيع خصائص وسلوك فئة موجودة بواسطة فئة محددة حديثًا. عندما تمتد فئة فرعية جديدة (أو فئة مشتقة) إلى فئة فائقة (أو فئة رئيسية) ، فإن هذه الفئة الفرعية سترث جميع سمات وطرق الفئة العليا. يمكن للفئة الفرعية أن تتجاوز السلوك اختياريًا (توفر وظائف جديدة أو موسعة للطرق) الموروثة من الفئة الأصلية. عادةً ، لا يمكن للفئة الفرعية أن توسع عدة فئات فائقة (على سبيل المثال في Java).لذلك ، لا يمكنك استخدام الامتدادات للوراثة المتعددة. من أجل الحصول على وراثة متعددة ، تحتاج إلى استخدام الواجهات.
ما الفرق بين فئة الملخص والوراثة؟
تمثل فئات الملخص عادة مفهومًا مجردًا أو كيانًا مع تنفيذ جزئي أو بدون تنفيذ. يسمح الوراثة للفئات الجديدة بتوسيع الفئات الأخرى. نظرًا لأنه لا يمكن إنشاء مثيل لفئات الخلاصة ، فأنت بحاجة إلى استخدام مفهوم الوراثة للاستفادة من فئات الخلاصة. خلاف ذلك ، لا فائدة لفصل Abstract. قد تحتوي فئات الخلاصة على طرق Abstract وعندما يتم تمديد الفئة ، يتم توارث جميع الطرق (الملخص والملموسة). يمكن للفئة الموروثة تنفيذ أي من الطرق أو جميعها. إذا لم يتم تنفيذ جميع طرق الخلاصة Abstract ، فإن هذه الفئة تصبح أيضًا فئة Abstract. لا يمكن للفئة أن ترث من أكثر من فئة Abstract (هذه ليست صفة لفئات Abstract في حد ذاتها ، بل هي تقييد للوراثة).
الوظائف ذات الصلة:
الفرق بين فئة الملخص وصنف الخرسانة
الفرق بين الظاهري والملخص
الفرق بين فئة الملخص والواجهة
الفرق بين التنفيذ والتمديد
الفرق بين الرسم البياني والشجرة
مصنف تحت: البرمجة الموسومة بـ: ABC، abstract، Abstract Base Classes، Abstract class، Abstract class، Abstract keyword، Abstract method، abstract class، Concrete class، Extended keyword، الميراث، فئة الوراثة، الفئة الموروثة، Java، الميراث المتعدد ، المفاهيم الموجهة للكائنات ، الطبقة العادية ، فئة السوبر
نبذة عن المؤلف: Indika
إنديكا ، بكالوريوس في الهندسة ، MSECE هندسة الكمبيوتر ، دكتوراه. علوم الكمبيوتر ، هو أستاذ مساعد وله اهتمامات بحثية في مجالات المعلوماتية الحيوية والبيولوجيا الحاسوبية ومعالجة اللغة الطبيعية الطبية الحيوية.
تعليقات
-
جايسون يقول
30 أغسطس 2017 الساعة 1:25 مساءً
شكرا لشرح الفرق. تم حل جميع أسئلتي من خلال هذا
رد
-
Aus يقول
مايو 10 ، 2019 في 3:04 م
أفضل إجابة على الويب ، يشرح المدرس القرف ولا معنى له ، أحادي اللون mf. هكذا تشرح المفاهيم.
رد
اترك ردًا إلغاء الرد
لن يتم نشر عنوان بريدك الإلكتروني. الحقول المطلوبة
تعليق
الاسم
البريد الإلكتروني
موقع