11.6 ملخص الفصل
أبرز ما جاء في هذا الفصل:
- تتضمن البرمجة كائنية التوجه تجميع الحقول والإجراءات ذات الصلة في كائنات باستخدام التجريد والتغليف.
- تُعرّف الأصناف نوعًا من الكائنات بسمات وتوابع.
- تمثل المثيلات من نوع صنف معين الكائنات وتُنشأ باستخدام
__init__(). - قد تنتمي السمات إلى المثيل (فريدة لكل مثيل) أو إلى الصنف (مشتركة بين جميع المثيلات).
- تتضمن توابع المثيل المُعامِل الأول
selfللوصول إلى المثيل بعينه. - تستخدم Python التوابع السحرية لأداء إجراءات "خلف الكواليس" للمستخدمين. تبدأ التوابع السحرية دائمًا وتنتهي بشرطتين سفليتين مزدوجتين.
- تسمح Python بالتحميل الزائد للعوامل الموجودة للأصناف المعرفة من قبل المستخدم.
- يمكن استيراد الأصناف من الوَحدات بالاسم أو يمكن إعادة تسميتها باستخدام أسماء بديلة.
في هذه المرحلة، ينبغي أن تكون قادرًا على كتابة الأصناف التي تحتوي على سمات المثيل وسمات الصنف والتوابع، واستيراد الأصناف من الوَحدات. ينبغي أن تكون قادرًا أيضًا على التحميل الزائد للعوامل عند تعريف صنف.
| البنية | الوصف |
|---|---|
| تعريف الصنف |
class ClassName:
"""Docstring"""
|
__init__() |
class ClassName:
def __init__(self):
# تهيئة السمات |
| السمات |
class ClassName:
class_attr_1 = [value]
class_attr_2 = [value]
def __init__(self):
instance_attr_1 = [value]
instance_attr_2 = [value]
instance_attr_3 = [value] |
| التوابع (المثيل) |
class ClassName:
def __init__(self):
instance_attr_1 = [value]
instance_attr_2 = [value]
instance_attr_3 = [value]
def method_1(self, val1, val2):
# الوصول إلى السمات / تعديلها
def method_2(self):
# الوصول إلى السمات / تعديلها |
| المثيلات | instance_1 = ClassName() instance_1.instance_attr_1 = [new value] instance_2 = ClassName() instance_2.method_2() |
| عامل الضرب المُحمّل زائدًا |
class ClassName:
# توابع أخرى
def __mul__(self, other):
return ClassName(self.instance_attr_3 * other.instance_attr_3) |
| استيراد صنف من وحدة باسم بديل |
from class_module import ClassName as ClassAlias |
جدول
11.4
مرجع الفصل 11.