العودة إلى الدورة

الركيزة الرابعة لـ OOP: التجريد باستخدام الفئات المجردة

إتقان لغة Java: من الصفر إلى مطور محترف (رحلة من 50 درساً)

الدرس 24: الركيزة الرابعة لـ OOP: التجريد باستخدام الفئات المجردة

التجريد (Abstraction) يعني إظهار المعلومات الأساسية فقط للمستخدم وإخفاء تفاصيل التنفيذ المعقدة. إنه يركز على ماذا يفعل الكائن بدلاً من كيف يفعله.

1. الفئات المجردة (Abstract Classes)

  • يتم التصريح عن الفئة المجردة باستخدام الكلمة المفتاحية abstract.
  • قد تحتوي على دوال منفذة (concrete) ودوال غير منفذة (abstract).
  • الأهم: لا يمكنك إنشاء كائنات (instances) من فئة مجردة.

2. الدوال المجردة (Abstract Methods)

  • الدالة المجردة هي دالة يتم التصريح عنها بدون تنفيذ (بدون جسم، تنتهي بفاصلة منقوطة).
  • أي فئة تحتوي على دالة مجردة واحدة أو أكثر يجب أن يتم التصريح عنها كفئة مجردة.
  • يجب على الفئات الابنة توفير تنفيذات لجميع الدوال المجردة الموروثة، أو يجب تصنيفها كفئات مجردة أيضاً.

مثال

java public abstract class Shape { // فئة مجردة String color;

// دالة عادية (منفذة)
public void printColor() {
    System.out.println("Color: " + color);
}

// دالة مجردة (بدون جسم) - تجبر الفئات الابنة على تنفيذها
public abstract double calculateArea(); 

}

// يجب على الفئة الابن تنفيذ الدالة المجردة public class Circle extends Shape { private double radius = 5.0;

@Override
public double calculateArea() {
    return Math.PI * radius * radius;
}

}

// الاستخدام: // Shape s = new Shape(); // خطأ! لا يمكن إنشاء كائن من فئة مجردة Shape c = new Circle(); // صحيح (تعدد الأشكال) double area = c.calculateArea();

الفئات المجردة مثالية لمشاركة الكود المشترك مع فرض تنفيذات محددة لسلوكيات حرجة عبر الفئات الابنة المرتبطة.