Logo ar.removalsclassifieds.com

الفرق بين التركيب والميراث (مع الجدول)

جدول المحتويات:

Anonim

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

التكوين مقابل الميراث

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

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

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

جدول المقارنة بين التركيب والوراثة

معلمات المقارنة

تعبير

ميراث

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

ما هو التركيب؟

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

هناك صلة أخرى بين الفئات التي قدمها OOP وهي التركيب ، المعروف أيضًا باسم علاقة has-a. إذا كان يجب دمج خصائص كائن ما بطريقة ما في ميزات كائن آخر ، فإن العلاقة تستلزم تكوينًا. لإنشاء فئة جديدة من الفئة الأصلية ، يجب الإعلان عن كائن كل فئة كعضو في الفصل الحالي.

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

ما هو الميراث؟

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

إذا أردنا إنشاء فصل دراسي جديد ولكن يبدو أن هناك فئة بها بعض التعليمات البرمجية التي نحتاجها ، فقد نستخرج صنفنا الجديد من الفصل الحالي. يمكننا إعادة استخدام خصائص وطرق الفصل الحالي بدلاً من كتابتها بأنفسنا. الطبقة الفرعية ترث معظم ممثلي الطبقة العليا. المنشئون ليسوا مشاركين ، لذلك لا يتم تمريرهم إلى الفئات الفرعية ، ولكن يمكن استدعاء وظيفة الفئة العليا Object () {[الكود الأصلي]} من الفئة الفرعية.

الاختلافات الرئيسية بين التكوين والميراث

استنتاج

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

يُفضل التركيب بشكل عام لأنه يسمح لك باستخدام كائن دون فقد بياناته الداخلية ، حيث يكون التكوين مفيدًا. في حين أن للوراثة عيوبها ، فإن تكوين الكائن يطرح مشكلات أداء مماثلة من حيث تكوين الكائن وتدميره.

الفرق بين التركيب والميراث (مع الجدول)