Attributes
جزء من قسم Object Oriented Programming في رحلة Python على Coddy — الدرس 6 من 64.
السمات (Attributes) هي بيانات أو متغيرات تنتمي إلى فئة (class) أو كائناتها. وهي تخزن معلومات حول حالة الكائن.
هناك نوعان من السمات (attributes):
سمات الفئة (Class attributes) - تتشاركها جميع كائنات الفئة:
class Student:
school_name = "Python Academy" # سمة الفئةسمات الكائن (Instance attributes) - فريدة لكل كائن:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # سمة كائن
self.age = age # سمة كائنقم بإنشاء كائنات للطلاب وتعيين بياناتهم الفردية:
student1 = Student()
student2 = Student()
student1.set_info("Alice", 20)
student2.set_info("Bob", 22)الوصول إلى سمات المثيل (فريدة لكل كائن):
print(student1.name) # Alice
print(student2.name) # Bob
print(student1.age) # 20الوصول إلى سمات الفئة (نفسها لجميع الكائنات):
print(student1.school_name) # Python Academy
print(student2.school_name) # Python Academy
print(Student.school_name) # Python Academyالمخرجات:
Alice
Bob
20
Python Academy
Python Academy
Python Academyالفرق الرئيسي: تُشارك سمات الفئة (Class attributes) بواسطة جميع الكائنات، بينما تكون سمات المثيل (instance attributes) فريدة لكل كائن. استخدم self.attribute_name لسمات المثيل وفقط attribute_name لسمات الفئة.
ورقة مرجعية
السمات (Attributes) هي بيانات أو متغيرات تنتمي إلى فئة (class) أو كائناتها (objects).
سمات الفئة (Class attributes) - مشتركة بين جميع كائنات الفئة:
class Student:
school_name = "Python Academy" # سمة فئةسمات الكائن (Instance attributes) - فريدة لكل كائن، ويتم تعريفها باستخدام self:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # سمة كائن
self.age = age # سمة كائنالوصول إلى سمات الكائن:
student1 = Student()
student1.set_info("Alice", 20)
print(student1.name) # Aliceالوصول إلى سمات الفئة:
print(student1.school_name) # Python Academy
print(Student.school_name) # Python Academyجرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Object Oriented Programming
1أساسيات OOP
الملفات الخارجيةمقدمة في OOPClasses مقابل Objectsمعامل selfMethodsAttributesدالة البناء (__init__)مراجعة - آلة حاسبة بسيطة4الوراثة
الوراثة الأساسيةدالة ()superإعادة تعريف الدوال (Method Overriding)الوراثة المتعددةترتيب استدعاء الدوال (Method Resolution Order)مراجعة - هيكلية الموظفين5تعدد الأشكال
مراجعة إعادة تعريف الدوالمفهوم Duck Typingالأصناف والدوال المجردةتصميم الواجهاتملخص - حاسبة الأشكال