وراثت (Inheritance) در C#

وراثت یکی از اصول مهم برنامه‌نویسی شیءگرا است که به ما اجازه می‌دهد یک کلاس جدید را بر اساس یک کلاس موجود ایجاد کنیم.

Inheritance چیست؟

در وراثت، یک کلاس (Child) ویژگی‌ها و رفتارهای کلاس دیگر (Parent) را به ارث می‌برد و می‌تواند آن‌ها را توسعه دهد یا تغییر دهد.

مثال ساده از وراثت


public class Person
{
    public string Name { get; set; }

    public void ShowName()
    {
        Console.WriteLine(Name);
    }
}

public class Student : Person
{
    public int StudentId { get; set; }
}

استفاده از کلاس فرزند


Student student = new Student();

student.Name = "Ali";
student.StudentId = 1001;

student.ShowName();

توسعه رفتار در کلاس فرزند


public class Person
{
    public string Name { get; set; }

    public virtual void Introduce()
    {
        Console.WriteLine("I am a person");
    }
}

public class Student : Person
{
    public override void Introduce()
    {
        Console.WriteLine("I am a student");
    }
}

کلمه کلیدی base

از base برای دسترسی به اعضای کلاس والد استفاده می‌شود.


public class Person
{
    public string Name { get; set; }

    public Person(string name)
    {
        Name = name;
    }
}

public class Student : Person
{
    public Student(string name) : base(name)
    {
    }
}

مزایای Inheritance

  • کاهش تکرار کد
  • قابلیت توسعه بهتر
  • ساختاردهی بهتر برنامه
  • استفاده مجدد از کد (Reusability)

جمع‌بندی

وراثت یکی از پایه‌های اصلی OOP است که باعث می‌شود بتوانیم ساختارهای پیچیده را ساده‌تر و قابل توسعه‌تر طراحی کنیم.