---
title: "الوصية المرفوضة"
type: "code-smell"
slug: "refused-bequest"
url: "http://localhost:3000/ar/smells/refused-bequest.md"
category: "مسيئو استخدام البرمجة كائنية التوجه"
description: "إذا كانت الفئة الفرعية (subclass) تستخدم فقط بعض الدوال والخصائص الموروثة من فئاتها الأبوية، فإن التدرج الهرمي يكون غير متوازن. قد تظل الدوال غير المطلوبة ببساطة غير مستخدمة أو يتم إعادة تعريفها لإطلاق استثناءات (exceptions)."
---
# الوصية المرفوضة

> إذا كانت الفئة الفرعية (subclass) تستخدم فقط بعض الدوال والخصائص الموروثة من فئاتها الأبوية، فإن التدرج الهرمي يكون غير متوازن. قد تظل الدوال غير المطلوبة ببساطة غير مستخدمة أو يتم إعادة تعريفها لإطلاق استثناءات (exceptions).

## العلامات والأعراض

إذا كانت الفئة الفرعية (subclass) تستخدم فقط بعض الدوال والخصائص الموروثة من فئاتها الأبوية، فإن التدرج الهرمي يكون غير متوازن. قد تظل الدوال غير المطلوبة ببساطة غير مستخدمة أو يتم إعادة تعريفها لإطلاق استثناءات (exceptions).

## أسباب المشكلة

دافع شخص ما لإنشاء وراثة بين الفئات هو فقط الرغبة في إعادة استخدام الكود في الفئة الأساسية (superclass). لكن الفئة الأساسية والفئة الفرعية مختلفتان تماماً.

## المردود

* يحسن وضوح الكود وتنظيمه. لن تضطر بعد الآن إلى التساؤل عن سبب وراثة فئة `Dog` من فئة `Chair` (على الرغم من أن كليهما يمتلك 4 أرجل).
## Relations

**Treated by**

- [استبدال الوراثة بالتفويض](/ar/replace-inheritance-with-delegation.md)
- [استخراج الفئة العليا](/ar/extract-superclass.md)

