وراثت (کلاس مشتق شده و پایه)(Inheritance (Derived and Base Class))


در سی شارپ، امکان ارث بردن فیلدها و متدها از یک کلاس به کلاس دیگر وجود دارد. ما "مفهوم وراثت" را به دو دسته گروه بندی می کنیم:




  • کلاس مشتق شده (فرزند) - کلاسی که از کلاس دیگری ارث می برد

  • کلاس پایه (والد) - کلاسی که از آن به ارث رسیده است


برای ارث بردن از یک کلاس، از نماد : استفاده کنید.


در مثال زیر، کلاس Car
(فرزند) فیلدها و متدها را از کلاس Vehicle به ارث می برد.
(والد):




مثال


class Vehicle  // base class (parent) 
{
  public string brand = "Ford"; // Vehicle field
  public void honk() // Vehicle method
{                    
    Console.WriteLine("Tuut, tuut!");
  }
}

class Car : Vehicle // derived class (child)
{
  public string modelName = "Mustang"; // Car field
}

class Program
{
static void Main(string[] args)
{
// Create a myCar object
Car myCar = new Car();

// Call the honk() method (From the Vehicle class) on the myCar object
myCar.honk();

// Display the value of the brand field (from the Vehicle class) and the value of the modelName from the Car class
Console.WriteLine(myCar.brand + " " + myCar.modelName);
}
}







چرا و چه زمانی از "ارث" استفاده کنیم؟


- برای قابلیت استفاده مجدد کد مفید است: هنگام ایجاد یک کلاس جدید، از فیلدها و متدهای کلاس موجود استفاده مجدد کنید.


نکته: همچنین نگاهی به فصل بعدی، Polymorphism بیندازید، که از روش‌های ارثی برای انجام وظایف مختلف استفاده می‌کند.