التغليف والتجريد
افهموا كيفية إخفاء التعقيد وإظهار ما هو ضروري فقط
التغليف والتجريد درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 5 من أصل 6. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 6 دروس في المجموع.
مقدمة إلى التغليف والتجريد
مقدمة إلى التغليف والتجريد
يُعد التغليف والتجريد مبدأين أساسيين في البرمجة كائنية التوجه (OOP)، ويساعدان على إدارة التعقيد وتحسين تنظيم الشيفرة.
يقيّد التغليف الوصول المباشر إلى بيانات الكائن، بينما يخفي التجريد تفاصيل التطبيق ويعرض الميزات الأساسية فقط.

ما هو التغليف؟
ما هو التغليف؟
يعني التغليف جمع البيانات (السمات) والأساليب معًا داخل فئة، وتقييد الوصول المباشر إليها.
# Example of encapsulation
class Person:
# Private attribute (indicated by double underscores)
def __init__(self, name):
self.__name = name
# Public method to access the private attribute
def get_name(self):
return self.__name
person = Person("Alice")
# Accessing private data via a public method
print(person.get_name())السمات الخاصة
السمات الخاصة
في Python، يُشار إلى السمات الخاصة باستخدام شرطتيْن سفليتيْن __. ولا يمكن الوصول إليها مباشرةً من خارج الفئة.
# Private attributes
class Car:
def __init__(self, brand):
self.__brand = brand # Private attribute
def get_brand(self):
# Public method to access the private attribute
return self.__brand
car = Car("Toyota")
print(car.get_brand()) # Outputs: Toyotaما هو التجريد؟
ما هو التجريد؟
يخفي التجريد تفاصيل التطبيق الداخلية للفئة، ولا يعرض للمستخدم سوى الوظائف الضرورية.
# Example of abstraction
from abc import ABC, abstractmethod
# Abstract Base Class
class Shape(ABC):
@abstractmethod
def area(self):
pass
# Subclass implementing the abstract method
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * self.radius * self.radius
circle = Circle(5)
print(circle.area()) # Outputs: 78.5الفئات المجردة
الفئات المجردة
الفئات المجردة هي فئات لا يمكن إنشاء كائنات منها مباشرةً. وتُستخدم لتعريف واجهة مشتركة للفئات الفرعية.
# Abstract Base Class with multiple subclasses
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def speak(self):
pass
class Dog(Animal):
def speak(self):
print("Dog barks")
class Cat(Animal):
def speak(self):
print("Cat meows")
dog = Dog()
cat = Cat()
dog.speak() # Outputs: Dog barks
cat.speak() # Outputs: Cat meowsالتغليف مقابل التجريد
التغليف مقابل التجريد
التغليف والتجريد مفهومان مترابطان لكنهما مختلفان:
- التغليف: يقيّد الوصول إلى البيانات داخل الصنف.
- التجريد: يخفي تفاصيل التنفيذ ويوفّر واجهة واضحة.
مزايا التغليف والتجريد
مزايا التغليف والتجريد
إليك بعض المزايا الأساسية:
- تحسين أمان الشيفرة وقابليتها للصيانة.
- تشجيع كتابة شيفرة معيارية وقابلة لإعادة الاستخدام.
- جعل الشيفرة أسهل في القراءة والفهم.
الأخطاء الشائعة في التغليف والتجريد
الأخطاء الشائعة في التغليف والتجريد
إليك بعض الأخطاء التي يجب تجنبها:
- الوصول إلى السمات الخاصة مباشرةً بدلًا من استخدام دوال getter وsetter.
- إنشاء كائنات من الفئات المجردة مباشرةً.
- عدم تطبيق جميع الأساليب المجردة في الفئات الفرعية.
ماذا تعلمنا؟
ماذا تعلمنا؟
في هذا الدرس، تعلمت:
- ما هو التغليف وكيفية تقييد الوصول إلى البيانات باستخدام السمات الخاصة.
- ما هو التجريد وكيفية استخدام الفئات المجردة لتعريف واجهات مشتركة.
- الفروق بين التغليف والتجريد وفوائدهما.
أحسنت! لننتقل إلى الموضوع التالي.

الأسئلة الشائعة
هل درس «التغليف والتجريد» مجاني؟
نعم — نص درس «التغليف والتجريد» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 6 دروس في المجموع.
ماذا ستتعلم في «التغليف والتجريد»؟
افهموا كيفية إخفاء التعقيد وإظهار ما هو ضروري فقط تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 5 من أصل 6.
كم من الوقت يستغرق درس «التغليف والتجريد»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الفئات والكائنات
- السمات والدوال
- الوراثة
- تعدد الأشكال
- التغليف والتجريد
- الدوال السحرية (__str__ و__repr__ وغيرهما)