---
title: "رفع الحقل (Pull Up Field)"
type: "refactoring-technique"
slug: "pull-up-field"
url: "http://localhost:3000/ar/pull-up-field.md"
category: "التعامل مع التعميم"
description: "المشكلة: فئتان تحتويان على نفس الحقل. الحل: أزل الحقل من الفئات الفرعية وانقله إلى الفئة الفائقة."
---
# رفع الحقل (Pull Up Field)

> المشكلة: فئتان تحتويان على نفس الحقل. الحل: أزل الحقل من الفئات الفرعية وانقله إلى الفئة الفائقة.

## المشكلة

فئتان تحتويان على نفس الحقل.

## الحل

أزل الحقل من الفئات الفرعية وانقله إلى الفئة الفائقة.

## دواعي إعادة الهيكلة

نمت الفئات الفرعية وتطورت بشكل منفصل، مما أدى إلى ظهور حقول وتوابع متطابقة (أو شبه متطابقة).

## الفوائد

* يزيل تكرار الحقول في الفئات الفرعية.
* يسهل النقل اللاحق للتوابع المكررة، إن وجدت، من الفئات الفرعية إلى الفئة الفائقة.

## كيفية إعادة الهيكلة

1. تأكد من أن الحقول تُستخدم لنفس الأغراض في الفئات الفرعية.
2. إذا كانت الحقول بأسماء مختلفة، فأعطها نفس الاسم واستبدل جميع الإشارات إلى الحقول في الكود الحالي.
3. أنشئ حقلاً بنفس الاسم في الفئة الفائقة. لاحظ أنه إذا كانت الحقول خاصة (Private)، فيجب أن يكون حقل الفئة الفائقة محمياً (Protected).
4. أزل الحقول من الفئات الفرعية.
5. قد ترغب في النظر في استخدام [التغليف الذاتي للحقل (Self Encapsulate Field)](/self-encapsulate-field) للحقل الجديد، من أجل إخفائه خلف توابع الوصول.
## Relations

**Similar techniques**

- [رفع التابع (Pull Up Method)](/ar/pull-up-method.md)

**Opposite refactorings**

- [تنزيل الحقل (Push Down Field)](/ar/push-down-field.md)

**Eliminates smells**

- [الكود المكرر](/ar/smells/duplicate-code.md)

