اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.
تم توسيع بعض اللغات الإجرائية بقدرات موجهة للكائنات للاستفادة من مجموعات المهارات الكبيرة والكود القديم لتلك اللغات وأيضاً توفير مزايا التطوير ذي التتوجيه الكائني. ولعل المثال الأكثر شهرة هو سي++، وهو امتداد كائني التوجه للغة البرمجة سي نظرًا لمتطلبات التصميم لإضافة النموذج الموجه للكائنات إلى لغة إجرائية موجودة مسبقاً، فإن تمرير الرسائل في سي++ لديه بعض القدرات والمصطلحات الفريدة. على سبيل المثال، في سي++ تُعرف الطريقة بدالة عضو (member function). تحتوي سي++ أيضًا على مفهوم الدوال الافتراضية ( virtual functions) وهي دوال عضوية التي يمكن تجاوزها في الأصناف المشتقة وتسمح بالإرسال الديناميكي.
الدوال الافتراضية Virtual functions هي الوسيلة التي يمكن من خلالها لصنف سي++ تحقيق سلوك متعدد الأشكال. الدوال العضوية غير الافتراضية، أو الطرق العادية، هي تلك التي لا تشارك في تعدد الأشكال.
مثال سي++ :
#include <iostream> #include <memory> class Super { public: virtual ~Super() = default; virtual void IAm() { std::cout << "أنا الصنف الأصل"; } }; class Sub : public Super { public: void IAm() override { std::cout << "أنا الصنف الفرع"; } }; int main() { std::unique_ptr<Super> inst1 = std::make_unique<Super>(); std::unique_ptr<Super> inst2 = std::make_unique<Sub>(); inst1->IAm(); // تستدعي |Super::IAm|. inst2->IAm(); // تستدعي |Sub::IAm|. }