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