NahdaAIنهضة
Python • المستوى الثالث • الدرس 1

المكونات والكائنات والـ Constructor (Classes & Objects)

العودة لفهرس المستوى

أهداف الدرس العلمية

  • فهم مفهوم الـ Class كمخطط أساسي والـ Object كنسخة عمل منه.
  • استخدام دالة التهيئة __init__ واستيعاب دور الكلمة المفتاحية self.
  • تعريف الميثودات (Methods) التي تعمل على بيانات الكائن نفسه.
  • استخدام المعاملات الافتراضية (Default Parameters) في الـ Constructor.

1. ما هي البرمجة الكائنية OOP؟

هي نمط برمجي يعتمد على تجميع البيانات والدوال المتعلقة بها داخل "كائنات" تحاكي العناصر الحقيقية، مما يسهل التطوير والتوسع وتفادي تكرار الأكواد.

python
# 📐 الصنف = المخطط
class Person:
    def __init__(self, name, age):
        self.name = name  # خاصية
        self.age = age

    def greet(self):       # ميثود
        return f"مرحباً، أنا {self.name}"

# 🧑 الكائن = نسخة فعلية
p1 = Person("سارة", 25)
p2 = Person("علي", 30)

print(p1.greet())  # مرحباً، أنا سارة
print(p2.greet())  # مرحباً، أنا علي

2. مكونات الصنف الأساسية

🏗️ __init__ (Constructor)

دالة خاصة تُنفَّذ تلقائياً عند إنشاء الكائن، لتحديد قيمه الأولية.

🎯 self

إشارة للكائن الحالي، تسمح بالوصول لخصائصه وميثوداته من داخلها.

📋 الخصائص (Attributes)

المتغيرات المخزنة داخل الكائن مثل self.brand و self.year.

⚙️ الميثودات (Methods)

الدوال المعرّفة داخل الصنف التي تعمل على بياناته.

التطبيق العملي المباشر

تحدي الدرس الأول: توسيع الصنف بـ 3 ميزات جديدة

قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:

  1. أضف خاصية جديدة color للـ Constructor بقيمة افتراضية "أبيض"، وأضفها إلى display_info.
  2. أضف ميثود جديدة car_age(current_year=2026) تُرجع عمر السيارة.
  3. أضف ميثود repaint(new_color) لتغيير اللون وإرجاع رسالة تأكيد.
  4. أنشئ كائنين مختلفين: car1 (تويوتا) و car2 (نيسان 2022 بلون "أزرق").
  5. اطبع معلومات الكائنين + أعمارهما، ثم غيّر لون car2 إلى "أحمر" وأعد الطباعة.
⏳ جارٍ تحميل المحرر التفاعلي...