Object Oriented in Cpp, آموزش ++c, زبان c++, َشی گرایی در سی پلاس پلاس

انواع ارث بری در c++ (آموزش Type of Inheritence)

انواع ارث بری در c++

در این جلسه تیم کدگیت را با آموزش انواع ارث بری در c++ همراهی کنید. ابتدای این آموزش به 4 نوع ارث بری را معرفی کرده  در ادامه به پیاده سازی این ارث‌بری‌ها در سی پلاس پلاس می‌پردازیم. پیشنهاد می‌شود آموزش‌های ابتدایی سی پلاس پلاس را قبل از ادامه این آموزش، مطالعه کنید.

انواع ارث بری در c++

در آموزش قبل در مورد ارث بری توضیح داده شد. در این آموزش به معرفی انواع ارث بری در سی پلاس پلاس به همراه مثال خواهیم پرداخت.انواع ارث بری شامل موارد زیر است:

  1. Single inheritance
  2. Multiple Inheritance
  3. Multilevel inheritance
  4. Hybrid Inheritance

ارث بری یکتا (Single inheritance)

ارث بری یکتا بسیار ساده است. وقتی یک کلاس، کلاس دیگری را ارث بری کند این نوع ارث بری را یکتا میگویند. البته تاکید میکنیم که ارث بری یکتا فقط شامل دو کلاس است و نه بیشتر!! دیاگرام این نوع ارث بری را در تصویر زیر میبینید:

مثالی از این نوع ارث‌بری در زیر آورده شده است:

// Single inheritance
#include <iostream>
using namespace std;

// base class
class Vehicle {
  public:
    Vehicle()
    {
      cout << "This is a Vehicle" << endl;
    }
};

// sub class derived from two base classes
class Car: public Vehicle{

};

// main function
int main()
{  
    // creating object of sub class will
    // invoke the constructor of base classes
    Car obj;
    return 0;
}

ارث بری چندگانه

ارث بری چند گانه یا همان multiple inheritance بسیار کم در دنیای برنامه نویسی استفاده میشود. وقتی یک کلاس دو یا چند کلاس را ارث‌بری کند ارث بری چند گانه میگوییم. مشکل این نوع ارث بری مدیریت آن است به دلیل اینکه ارث بری از چند کلاس رخ میدهد!!! دیاگرام این نوع ارث بری به صورت زیر است:

مثالی از این نوع ارث‌بری در زیر آورده شده است:

// multiple inheritance
#include <iostream>
using namespace std;

// first base class
class Vehicle {
  public:
    Vehicle()
    {
      cout << "This is a Vehicle" << endl;
    }
};

// second base class
class FourWheeler {
  public:
    FourWheeler()
    {
      cout << "This is a 4 wheeler Vehicle" << endl;
    }
};

// sub class derived from two base classes
class Car: public Vehicle, public FourWheeler {

};

// main function
int main()
{  
    // creating object of sub class will
    // invoke the constructor of base classes
    Car obj;
    return 0;
}

ارث بری چند سطحی

در این قسمت از انواع ارث بری در c++ به معرفی Multilevel Inheritance میپردازیم. این نوع ارث بری را با یک مثال ساده معرفی میکنیم. فرض کنید یک کلاس به نام C ساختیم. کلاس B کلاس C را ارث‌بری میکند. حال ما یک کلاس A داریم که کلاس B را به عنوان پدر خود انتخاب میکند(منظور همان ارث بری کردن است). دیاگرام این نوع ارث بری به صورت زیر است:

مثالی از این نوع ارث‌بری در زیر آورده شده است:

// Multilevel Inheritance
#include <iostream>
using namespace std;

// base class
class Vehicle
{
  public:
    Vehicle()
    {
      cout << "This is a Vehicle" << endl;
    }
};
class fourWheeler: public Vehicle
{  public:
    fourWheeler()
    {
      cout<<"Objects with 4 wheels are vehicles"<<endl;
    }
};
// sub class derived from two base classes
class Car: public fourWheeler{
   public:
     car()
     {
       cout<<"Car has 4 Wheels"<<endl;
     }
};

// main function
int main()
{  
    //creating object of sub class will
    //invoke the constructor of base classes
    Car obj;
    return 0;
}

ارث بری ترکیبی (Hybrid Inheritance)

در معرفی انواع ارث بری در سی پلاس پلاس به آخرین مورد یعنی ارث بری ترکیبی رسیدیم. ارث بری ترکیبی همانطور که از نامش پیداست ترکیب دو یا چند ارث بری است.دیاگرام این ارث بری به صورت زیر است:

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *