استفاده از وراثت

وراثت در برنامه‌نویسی شیءگرا

وراثت (Inheritance) یکی از اصول چهارگانه برنامه‌نویسی شیءگرا است که به توسعه‌دهندگان امکان می‌دهد کلاس‌های جدیدی بر اساس کلاس‌های موجود ایجاد کنند. این مکانیزم باعث کاهش تکرار کد و افزایش قابلیت استفاده مجدد می‌شود.

وراثت مانند رابطه والد-فرزند در دنیای واقعی عمل می‌کند، جایی که فرزند ویژگی‌ها و رفتارهای والد خود را به ارث می‌برد.

انواع وراثت در پایتون

پایتون از چندین نوع وراثت پشتیبانی می‌کند که هر کدام کاربردهای خاص خود را دارند:

  • وراثت ساده (Single Inheritance): یک کلاس فرزند فقط از یک کلاس والد ارث‌بری می‌کند
  • وراثت چندگانه (Multiple Inheritance): یک کلاس فرزند از چندین کلاس والد ارث‌بری می‌کند
  • وراثت چندسطحی (Multilevel Inheritance): زنجیره‌ای از روابط وراثت بین کلاس‌ها
  • وراثت سلسله‌مراتبی (Hierarchical Inheritance): چند کلاس فرزند از یک کلاس والد مشترک ارث‌بری می‌کنند
نوع وراثت مثال کاربرد
ساده کلاس فرزند(Parent) ایجاد رابطه سلسله‌مراتبی ساده
چندگانه کلاس فرزند(Parent1, Parent2) ترکیب قابلیت‌های چند کلاس

مثال عملی وراثت در پایتون

در مثال زیر یک کلاس پایه Animal داریم که کلاس‌های دیگر از آن ارث‌بری می‌کنند:

class Animal:
    def __init__(self, name):
        self.name = name

class Dog(Animal):
    def speak(self):
        return "Woof!"

در این مثال، کلاس Dog تمام ویژگی‌ها و متدهای کلاس Animal را به ارث می‌برد و می‌تواند متدهای جدیدی مانند speak را نیز اضافه کند.

مزایای استفاده از وراثت

  1. کاهش تکرار کد (DRY Principle)
  2. افزایش قابلیت استفاده مجدد کد
  3. ایجاد ساختار منظم و سلسله‌مراتبی
  4. سهولت در نگهداری و توسعه نرم‌افزار

برای یادگیری بیشتر درباره مفاهیم پیشرفته‌تر مانند چندریختی (Polymorphism) در پایتون، می‌توانید اینجا را دنبال کنید.


وراثت ابزار قدرتمندی است، اما باید با دقت استفاده شود. استفاده نادرست از وراثت می‌تواند منجر به ایجاد ساختارهای پیچیده و غیرقابل نگهداری شود. همیشه به یاد داشته باشید که "ترجیح ترکیب بر وراثت" یک اصل مهم در طراحی شیءگرا است.