Inheritance سازوکاری در آبجکتگرایی است که یک کلاس میتواند ویژگیها یا رفتار کلاس دیگری را به ارث ببرد. این کار برای رابطههای واقعی «نوعی از» و توسعه رفتار مشترک کاربرد دارد.
یک سناریوی واقعی
مثلاً کلاس SavingsAccount میتواند نوعی Account باشد و قواعد ویژه حساب پسانداز را اضافه کند، اما اگر دو کلاس فقط چند متد مشابه دارند، Composition گاهی انتخاب بهتری است.
وراثت عمیق میتواند وابستگی و پیچیدگی ایجاد کند. اصل Liskov در SOLID یادآوری میکند زیرکلاس نباید قرارداد مورد انتظار کلاس پایه را نقض کند.
برای تکمیل بحث، ارتباط این مفهوم را با کلاس و آبجکت بررسی کنید.