ما هو الوراثة الهجينة في لغة ++ C؟ أنواعها مع أمثلة

نشرت: 2021-05-27

غالبًا ما نستخدم مصطلح "الوراثة" في سياق البرمجة. إنها ميزة تمارس في البرمجة لتحقيق أفضل إعادة استخدام للرموز. إذا كنت تتذكر مفهوم "IS-A" في OOP (البرمجة الشيئية) ، فستجد أنه يعتمد على ميزة الوراثة. سيساعدك تنفيذ الميراث على اكتساب أفكار مشاريع متقدمة في C ++.

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

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

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

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

الوراثة في لغة ++ C

في كثير من الأحيان ، في الواقع ، يحتاج المبرمج إلى تطوير كائن عليه:
1) تمتلك جميع صفات والدها ، بالإضافة إلى ذلك ،
2) المثابرة خاصة في بعض الجوانب.

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

من الناحية الفنية ، يتم استخدام الكلمة الأساسية "تمتد" لوراثة فئة. تستخدم لغة C ++ رمز النقطتين (" : ") لترث من فئة.

أنواع الميراث

يختلف استخدام مزيج من الميراث والتنفيذ لغرض اشتقاق الفئات. هناك أنواع مختلفة من الميراث المتاحة في C ++ ، كما هو مذكور أدناه:

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

مثال بسيط

هنا يتم اشتقاق كلا من الفئة B والفئة C من الفئة الأساسية ، الفئة A.

يظهر التصنيف الهرمي للسيارات فئتين. تم اشتقاق كل من "سيارات البنزين" و "السيارات الكهربائية" من سيارات الفئة الأساسية.

الوراثة الهجينة في C ++

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

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

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

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

رسم تخطيطي للوراثة الهجينة

يمثل الرسم البياني مزيجًا هجينًا من ميراثين ؛ الميراث الفردي وتعدد الميراث. هنا ، في الميراث الفردي ، تشتق الفئة B من الفئة A. وبالمثل ، في الوراثة المتعددة ، يتم توريث الفئة D من فئات متعددة. هنا الفئة B والفئة C. لذا ، فإن مزيجًا من الوراثة الفردية والميراث المتعدد يشكل وراثة هجينة.

الوراثة المختلطة قابلة للتطبيق في السيناريوهات حيث يُطلب منا تطبيق أكثر من وراثة واحدة في البرنامج.

النحو في الوراثة الهجينة في لغة ++ C

سيتبع بناء جملة ودلالي نموذجي للوراثة الهجينة في C ++ كما هو موضح أدناه:

أمثلة على الوراثة الهجينة في لغة ++ C

مثال 1: واحد + تعدد الميراث

دعونا نرى كيف يتم تنفيذ الميراث الفردي والمتعدد.

تمثل كل كتلة في هذا الرسم البياني فئة ، والسهم المقابل هو وراثة فئة.

مثال 2: وراثة فردية + متعددة المستويات

يمكننا أيضًا تنفيذ أنواع أخرى من الميراث لتكوين وراثة هجينة.

لنفكر في مثال في الوقت الفعلي .

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

هنا برنامج بسيط لتوضيح مفهوم الوراثة الهجينة في C ++ .

رمز العينة

الإخراج

تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

آمل أن تساعدك هذه المقالة في فهم مفهوم وأنواع الوراثة الهجينة في C ++ . يمكن للطلاب في دفق الكمبيوتر والبرامج المتعلقة بالحوسبة تعزيز مهاراتهم ومصداقيتهم التقنية ، مثل مفاهيم OOP. توفر upGrad الموارد وقاعدة المعرفة لتشجيع هؤلاء المهنيين على الخبرة في البرمجة والمنافسة في سوق الصناعة. في upGrad ، تحصل أيضًا على فرصة لاستكشاف الشبكات المهنية وتطوير المهارات.

نأمل أن تحظى بفرصة تعليمية ممتازة في تنفيذ مشاريع C ++ هذه. إذا كنت مهتمًا بمعرفة المزيد وتحتاج إلى الإرشاد من خبراء الصناعة ، فراجع برنامج upGrad & IIIT Banglore Executive PG في تطوير برامج Full-Stack .

ما هي الوراثة في البرمجة الشيئية؟

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

ما هي النطاقات الثلاثة للوراثة في لغة ++ C؟

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

ما هو الميراث المتعدد في C ++؟

الميراث المتعدد هو القدرة على اشتقاق فئة من أكثر من فئة واحدة. هذه الميزة غير متوفرة في C. هذه واحدة من أهم ميزات C ++ التي تدعم البرمجة الموجهة للكائنات. يعتمد تنفيذ الوراثة المتعددة في C ++ على مفهوم فئات الوراثة. الوراثة المتعددة هي آلية تدعم نموذج البرمجة الموجهة للكائنات والتي يمكن استخدامها لحل بعض المشكلات ، مثل إعادة الاستخدام السلوكي وإعادة استخدام الكود. لطالما كانت إعادة استخدام الكود مشكلة في C ++ ، لأن C ++ لديها دعم وراثي واحد فقط. يتم تحقيق الوراثة المتعددة من خلال دمج واجهات متعددة في كائن.