0Pricing
Learn AI with Python · درس

التغليف والتجريد

افهموا كيفية إخفاء التعقيد وإظهار ما هو ضروري فقط

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

مقدمة إلى التغليف والتجريد

مقدمة إلى التغليف والتجريد

يُعد التغليف والتجريد مبدأين أساسيين في البرمجة كائنية التوجه (OOP)، ويساعدان على إدارة التعقيد وتحسين تنظيم الشيفرة.

يقيّد التغليف الوصول المباشر إلى بيانات الكائن، بينما يخفي التجريد تفاصيل التطبيق ويعرض الميزات الأساسية فقط.

التغليف والتجريد — رسم توضيحي 1

ما هو التغليف؟

ما هو التغليف؟

يعني التغليف جمع البيانات (السمات) والأساليب معًا داخل فئة، وتقييد الوصول المباشر إليها.

# 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.
  • إنشاء كائنات من الفئات المجردة مباشرةً.
  • عدم تطبيق جميع الأساليب المجردة في الفئات الفرعية.

ماذا تعلمنا؟

ماذا تعلمنا؟

في هذا الدرس، تعلمت:

  • ما هو التغليف وكيفية تقييد الوصول إلى البيانات باستخدام السمات الخاصة.
  • ما هو التجريد وكيفية استخدام الفئات المجردة لتعريف واجهات مشتركة.
  • الفروق بين التغليف والتجريد وفوائدهما.

أحسنت! لننتقل إلى الموضوع التالي.

التغليف والتجريد — رسم توضيحي 11

الأسئلة الشائعة

هل درس «التغليف والتجريد» مجاني؟

نعم — نص درس «التغليف والتجريد» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الفئات والكائنات
  2. السمات والدوال
  3. الوراثة
  4. تعدد الأشكال
  5. التغليف والتجريد
  6. الدوال السحرية (__str__ و__repr__ وغيرهما)
← العودة إلى Learn AI with Python