الدرس 14: البرمجة الكائنية في بايثون
سلسلة تعلم بايثون • الدرس 14

البرمجة الكائنية في بايثون (Object-Oriented Programming)

في هذا الدرس سنتعرف على مفهوم مهم جدًا في لغة بايثون وهو البرمجة الكائنية، وكيف تساعدنا في تنظيم الكود، وتسهيل إعادة استخدامه، وبناء برامج أكبر بشكل مرتب واحترافي.

محتويات الدرس

مقدمة

بعد أن تعرفنا في الدرس السابق على الدوال المتقدمة في بايثون، ننتقل الآن إلى مرحلة جديدة ومهمة جدًا في البرمجة وهي البرمجة الكائنية أو OOP.

هذا الأسلوب يساعدنا على تقسيم البرنامج إلى أجزاء واضحة تسمى فئات وكائنات، مما يجعل الكود أكثر تنظيمًا وأسهل في الفهم والتطوير.

الفكرة الأساسية: بدل كتابة كل شيء بشكل عشوائي، نقوم بإنشاء نموذج منظم يحتوي على البيانات والدوال المرتبطة بها داخل مكان واحد.

ما هي الفئة (Class)؟

الفئة أو Class هي بمثابة قالب أو مخطط نستخدمه لإنشاء كائنات متعددة تحمل نفس الخصائص والسلوكيات.

على سبيل المثال، إذا أردنا تمثيل شخص داخل البرنامج، يمكننا إنشاء فئة باسم Person تحتوي على الاسم والعمر.

class Person:
    name = "Ali"
    age = 25

ما هو الكائن (Object)؟

الكائن أو Object هو نسخة يتم إنشاؤها من الفئة. فعندما ننشئ كائنًا من فئة Person فإننا نحصل على عنصر يمكننا استخدام خصائصه داخل البرنامج.

class Person:
    name = "Ali"

p1 = Person()
print(p1.name)

في المثال السابق قمنا بإنشاء كائن اسمه p1 من الفئة Person، ثم طبعنا الاسم المخزن بداخله.

الدالة __init__

الدالة __init__ تُستخدم لتهيئة الكائنات عند إنشائها، وتسمح لنا بتمرير قيم مختلفة لكل كائن بدلًا من الاعتماد على قيم ثابتة.

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

p1 = Person("Ahmed", 30)
print(p1.name)
print(p1.age)
كلمة self تشير إلى الكائن الحالي، وتُستخدم للوصول إلى خصائصه ودواله.

إضافة الدوال داخل الفئة

يمكننا أيضًا إنشاء دوال داخل الفئة، وتسمى هذه الدوال Methods. وظيفتها تنفيذ سلوك معين مرتبط بالكائن.

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print("Hello my name is", self.name)

p1 = Person("Ali")
p1.greet()

هنا أنشأنا دالة باسم greet تقوم بطباعة رسالة ترحيب باستخدام اسم الكائن.

مميزات البرمجة الكائنية في بايثون

  • تنظيم الكود بشكل أفضل داخل فئات وكائنات.
  • إعادة استخدام الكود بسهولة في مشاريع أخرى.
  • تسهيل صيانة البرامج الكبيرة وتطويرها.
  • تقسيم المشروع إلى أجزاء واضحة ومفهومة.

خلاصة الدرس

  • تعرفنا على معنى الفئة Class.
  • فهمنا معنى الكائن Object.
  • تعلمنا استخدام الدالة __init__.
  • شاهدنا كيف نضيف دوال داخل الفئة.

في الدرس القادم سنتعرف على الوراثة في بايثون (Inheritance) وكيف يمكن لفئة أن ترث خصائص ودوال من فئة أخرى.

تعليقات

المشاركات الشائعة من هذه المدونة

تربية الأطفال في عصر الذكاء الاصطناعي: دليل الآباء والمربين لتحقيق توازن تربوي آمن

الدرس السادس : شرح Functions في Python بأسلوب مبسط مع أمثلة عملية

كيف نحمي أبناءنا من إدمان الهاتف الذكي؟