الميراث والاشتقاق
إذا سمعت هذا الاسم لأول مرة، عليك أولاً أن تفكر في معنى هاتين الكلمتين. دعونا نتحدث عن الميراث أولاً، وهذا مشابه لمعنى الميراث في الحياة الواقعية، على سبيل المثال، يرث شخص ممتلكات شخص آخر، ويرث الابن ميراث والده، وتسمى عملية الملكية بالميراث. وبالمثل، في لغة C++، على سبيل المثال، إذا كان هناك فئتان، فإن الفئة الجديدة تحتوي على جميع سمات الفئة الأصلية، وهو ما يسمى الميراث ! تسمى عملية إنشاء فئة جديدة من فئة أصلية الاشتقاق ! ونحن نسمي الفئة الأصلية الفئة الأصلية أو الفئة الأساسية ، والطبقة المشتقة من الفئة الأساسية تسمى فئة مشتقة أو فئة فرعية . يمكن للجميع معرفة علاقتهم من أسمائهم.
فما هي فوائد الميراث والاشتقاق؟ لماذا تمتلك C++ هذه الآلية؟
1. تعكس أفكار البرمجة الشيئية وتعبر بشكل أفضل عن العلاقة بين الأنواع المختلفة.
2. بالإضافة إلى وراثة جميع المعلومات الخاصة بالفئة الأساسية، يمكن للفئة المشتقة أيضًا إضافة معلومات مختلفة ومتباينة خاصة بها. تمامًا مثل مبدأ التطور البيولوجي، سيتم تحديث الفئة المشتقة على أساس الحصول على جميع المعلومات الخاصة بها الطبقة الأساسية قوية.
3. الأعضاء الموروثة من الفئة المشتقة إلى الفئة الأساسية مملوكة تلقائيًا ومخفية، أي أننا لا نحتاج إلى إعادة تعريفهم، وهذا يوفر الكثير من التعليمات البرمجية ويجسد فكرة هندسة البرمجيات لإعادة استخدام التعليمات البرمجية.
بعد ذلك، دعونا نلقي نظرة على تنفيذ الكود الفعلي، وكيفية وراثة الفئات المشتقة وتنفيذها:
/***************************: /حقوق النشر:www.dotcpp.com//التاريخ:2018/6/20********************************* * *******/#include<iostream>usingnamespacestd;classClock{private:intH;intM;intS;public:intSetTime(inth,intm,ints){this->H=h;this->M=m this->S=s;return0;}intShowTime(){cout<<Now:<<H<<:<<M<<:<<S<<endl;return0;}};classAlarmClock:publicClock{private: intAH ;intAM;public:intSetAlarm(intAH,intAM){this->AH=AH;this->AM=AM;return0;}intShowAlarm(){cout<<AlarmTime:<<AH<<:<<AM<< endl ;return0;}};intmain(){AlarmClockA;A.SetTime(19,15,50);A.ShowTime();A.SetAlarm(5,30);A.ShowAlarm();return0;}
لقطة الشاشة قيد التشغيل هي كما يلي:
يرجى قراءة وفهم الكود أن Clock هي الفئة الأساسية وAlarmClock هي الفئة المشتقة.
classAlarmClock:publicClock
يتم تمثيل الميراث بنقطتين ، حيث يمثل public الميراث العام والميراث الخاص والميراث المحمي، وهو ما سنتوسع فيه لاحقًا. في الكود، نحدد الكائن A من الفئة المشتقة AlarmClock في الوظيفة الرئيسية، وبعد ذلك يمكننا استدعاء أساليب SetTime وShowTime من الفئة الأساسية واستخدامها بنفس طريقة استخدامنا. في الوقت نفسه، قمنا بإضافة وتحديد أساليب SetAlarm وShowAlarm الخاصة بنا في الفئة المشتقة. يرجى فهم الكود والتجربة على الكمبيوتر.
لقد قدمنا حتى الآن المفاهيم الأساسية للميراث والاشتقاق، بعد فهم ذلك، تحتاج إلى تجربة البرمجة على جهاز كمبيوتر لفهم الظروف التي يمكن أن يكون فيها لفئتين مشتركتين ومترابطتين هذا النوع من العلاقة، ووزنهما. يستخدم.