1. ما هي فلسفة الـ OOP؟
بدلاً من أن نكتب الكود كقائمة طويلة من الأوامر (البرمجة الإجرائية)، نقوم في الـ OOP بتقسيم البرنامج إلى وحدات تسمى “كائنات” (Objects). تخيل “أكاديمية قياوي”؛ هي نظام يحتوي على (طلاب، مدربين، كورسات). في الـ OOP، نتعامل مع كل طالب كـ “كائن” له خصائص (اسم، عمر) وله أفعال (يسجل في كورس، يحل اختبار).
2. الفرق بين الصنف (Class) والكائن (Object)
هذا هو المفهوم الأهم الذي يجب أن يخرج به الطالب:
-
الصنف (Class): هو “المخطط الهاتفي” أو “القالب” (مثل رسم هندسي لسيارة).
-
الكائن (Object): هو “التنفيذ الحقيقي” لهذا المخطط (مثل السيارة التي تم تصنيعها فعلياً وتمشي في الشارع).
3. البنية الأساسية (The __init__ Method)
لكي نبني كائناً، نحتاج لدالة خاصة تسمى “الباني” (Constructor)، وهي التي تعطي الكائن صفاته الأولية.
:class Student
القالب الخاص بالطالب #
:def __init__(self, name, level)
# (Attribute)خاصية #self.name = name
(Attribute)خاصية # self.level = level
:def study(self)
(“{self.level} يدرس الآن في المستوى {self.name}لطالب”f)print
(Class) حقيقي من الصنف (Object) انشاء كائن #
(“ميمون”, “المتقدم”)student1 = Student
() student1.study
- ركائز الـ OOP الأربعة (بإيجاز منير): لكي يكون الشرح احترافياً، يجب أن يعرف الطالب أن الـ OOP يقوم على أربعة أعمدة:
1 التغليف (Encapsulation): إخفاء التفاصيل المعقدة وإظهار ما يحتاجه المستخدم فقط.
2 الوراثة (Inheritance): إنشاء صنف جديد يرث خصائص صنف قديم (مثلاً: “مدرب” يرث خصائص “موظف”).
3 تعدد الأشكال (Polymorphism): قدرة الكائنات المختلفة على الاستجابة لنفس الأمر بطرق مختلفة.
4 التجريد (Abstraction): التركيز على “ماذا يفعل الكائن” وليس “كيف يفعله”.
- لماذا ندرس هذا الدرس الآن؟ لأن البرمجيات الكبيرة (مثل هذا الموقع أو تطبيقات الجوال) لا يمكن إدارتها بدون OOP. إنها تجعل الكود:
♠ قابل لإعادة الاستخدام: لا تحتاج لكتابة نفس الكود مئات المرات.
♠ سهل الصيانة: إذا حدث خطأ في “نظام الطلاب”، تذهب لصنف الطلاب فقط وتصلحه.
نصيحة الأستاذ ميمون قياوي لطلابه: “لا تقلقوا إذا بدا المفهوم نظرياً في البداية. الـ OOP هي مهارة ‘رؤية’ البرمجة كأشياء ملموسة. بمجرد أن تبنوا أول كلاس (Class) بيدكم، ستكتشفون أنكم ملكتم القوة لتنظيم أي نظام معقد.”
تركيز :
حتى تكتمل الرؤيا اعرف بان
- ركائز الـ OOP الأربعة (بإيجاز منير): لكي يكون الشرح احترافياً، يجب أن يعرف الطالب أن الـ OOP يقوم على أربعة أعمدة:
التغليف (Encapsulation): إخفاء التفاصيل المعقدة وإظهار ما يحتاجه المستخدم فقط.
الوراثة (Inheritance): إنشاء صنف جديد يرث خصائص صنف قديم (مثلاً: “مدرب” يرث خصائص “موظف”).
تعدد الأشكال (Polymorphism): قدرة الكائنات المختلفة على الاستجابة لنفس الأمر بطرق مختلفة.
التجريد (Abstraction): التركيز على “ماذا يفعل الكائن” وليس “كيف يفعله”.
- لماذا ندرس هذا الدرس الآن؟ لأن البرمجيات الكبيرة (مثل موقعك أو تطبيقات الجوال) لا يمكن إدارتها بدون OOP. إنها تجعل الكود:
قابل لإعادة الاستخدام: لا تحتاج لكتابة نفس الكود مئات المرات.
سهل الصيانة: إذا حدث خطأ في “نظام الطلاب”، تذهب لصنف الطلاب فقط وتصلحه.
نصيحة الأستاذ ميمون قياوي لطلابه: “لا تقلقوا إذا بدا المفهوم نظرياً في البداية. الـ OOP هي مهارة ‘رؤية’ البرمجة كأشياء ملموسة. بمجرد أن تبنوا أول كلاس (Class) بيدكم، ستكتشفون أنكم ملكتم القوة لتنظيم أي نظام معقد.”
التركيز :
🧠 ما هي البرمجة الكائنية؟ (بكلام بسيط)
هي طريقة في البرمجة تقوم على:
تمثيل الأشياء الحقيقية داخل البرنامج
مثال من الحياة:
-
الإنسان
-
السيارة
-
الطالب
كل واحد منهم:
-
له صفات
-
وله أفعال
🧱 ما هو الصنف (Class)؟ الصنف هو:
قالب أو مخطط لإنشاء كائنات
مثال:
class Student: pass هنا أنشأنا صنفًا اسمه Student لكنه فارغ.
📦 ما هو الكائن (Object)؟ الكائن هو:
نسخة حقيقية من الصنف ()s1 = Student
🔹 إضافة خصائص (Attributes) لنُعطي الصنف معلومات:
:class Student
:def __init__(self, name, age)
self.name = name
self.age = age
🔹 إنشاء كائن مع بيانات
(“ياسين”, 60)s1 = Student
print(s1.name)
print(s1.age)
✔️ الآن أصبح لدينا كائن حقيقي ببياناته.
🧠 ماذا يعني self؟ self تعني:
هذا الكائن نفسه
هي طريقة Python لربط البيانات بالكائن.
🧪 تمرين تطبيقي
1️⃣ أنشئ Class اسمه Person
2️⃣ يحتوي على name و city
3️⃣ أنشئ كائنًا
4️⃣ اطبع معلوماته
✨ لا تقلق… الخطأ جزء من التعلم.
🌟 رسالة تحفيزية
اليوم لم تتعلم كودًا فقط
بل تعلمت طريقة تفكير المحترفين
خطوة هادئة… وفهم عميق 🐝