ما هو التجريد؟
عرض ما يفعله الكائن وإخفاء كيف يفعله. تتعامل مع واجهة بسيطة دون معرفة التعقيد الداخلي.
تشبيه: تقود السيّارة بالمقود والدوّاسة (واجهة بسيطة) دون معرفة عمل المحرّك.
class CoffeeMachine:
def make_coffee(self): # الواجهة البسيطة
self.__boil_water()
self.__grind_beans()
self.__brew()
return "قهوة جاهزة"
def __boil_water(self): ... # تفاصيل مخفيّة
def __grind_beans(self): ...
def __brew(self): ...
machine = CoffeeMachine()
machine.make_coffee() # لا تهتمّ بالتفاصيل
التجريد عبر الأصناف المجرّدة
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self): # تعريف بلا تنفيذ
pass
class Circle(Shape):
def __init__(self, r): self.r = r
def area(self): # التنفيذ الفعلي
return 3.14 * self.r ** 2
التجريد مقابل التغليف
- التغليف: يخفي البيانات ويحميها.
- التجريد: يخفي التعقيد ويبسّط الاستخدام.
🎯 التالي: الوراثة (Inheritance).