تجول C ++

C ++ الصفحة الرئيسية C ++ مقدمة C ++ ابدأ بناء جملة C ++ إخراج C ++ تعليقات C ++ متغيرات C ++ مدخلات مستخدم C ++ أنواع بيانات C ++ عوامل C ++ سلاسل C ++ C ++ الرياضيات C ++ منطقية شروط C ++ مفتاح C ++ C ++ أثناء التكرار C ++ للحلقة C ++ استراحة / متابعة صفائف C ++ مراجع C ++ مؤشرات C ++

وظائف C ++

وظائف C ++ معلمات وظيفة C ++ وظيفة C ++ الزائد

فئات C ++

C ++ OOP فئات / كائنات C ++ طرق فئة C ++ C ++ البناة محددات الوصول C ++ تغليف C ++ الوراثة C ++ تعدد الأشكال C ++ ملفات C ++ استثناءات C ++

C ++ كيف

أضف عددين

أمثلة C ++

أمثلة C ++ مترجم C ++ تمارين C ++ اختبار C ++


C ++ تعدد الأشكال


تعدد الأشكال

يعني تعدد الأشكال "العديد من الأشكال" ، ويحدث عندما يكون لدينا العديد من الفئات التي ترتبط ببعضها البعض عن طريق الوراثة.

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

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

مثال

// Base class
class Animal {
  public:
    void animalSound() {
    cout << "The animal makes a sound \n" ;
  }
};

// Derived class
class Pig : public Animal {
  public:
    void animalSound() {
    cout << "The pig says: wee wee \n" ;
  }
};

// Derived class
class Dog : public Animal {
  public:
    void animalSound() {
    cout << "The dog says: bow wow \n" ;
  }
};

تذكر من فصل الوراثة أننا نستخدم :الرمز لنرث من الفصل.

الآن يمكننا إنشاء Pigوكائنات Dogوتجاوز animalSound()الطريقة:

مثال

// Base class
class Animal {
  public:
    void animalSound() {
    cout << "The animal makes a sound \n" ;
  }
};

// Derived class
class Pig : public Animal {
  public:
    void animalSound() {
    cout << "The pig says: wee wee \n" ;
   }
};

// Derived class
class Dog : public Animal {
  public:
    void animalSound() {
    cout << "The dog says: bow wow \n" ;
  }
};

int main() {
  Animal myAnimal;
  Pig myPig;
  Dog myDog;

  myAnimal.animalSound();
  myPig.animalSound();
  myDog.animalSound();
  return 0;
}

لماذا ومتى يتم استخدام "الميراث" و "تعدد الأشكال"؟

- إنها مفيدة لإعادة استخدام الكود: إعادة استخدام سمات وطرق فئة موجودة عند إنشاء فئة جديدة.