fbpx

تعلم لغة البايثون – الدرس العاشر الكلاس والكائنات في بايثون Classes and Objects

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

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

قد يبدو الفصل الأساسي جدًا كالتالي:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

سنشرح لماذا يجب عليك تضمين هذه “الذات” كمعلمة بعد ذلك بقليل. أولاً ، لتعيين الفئة (القالب) أعلاه لكائن ما عليك القيام بما يلي:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

الآن يحتوي المتغير “myobjectx” على كائن من الفئة “MyClass” يحتوي على المتغير والوظيفة المحددة داخل الفئة تسمى “MyClass”

الوصول إلى متغيرات الكائنات

للوصول إلى المتغير داخل الكائن الذي تم إنشاؤه حديثًا “myobjectx” ، يمكنك القيام بما يلي:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

myobjectx.variable

سنحصل على النتيجة التالية عند التشغيل

Out[1]: 'blah'

لذلك على سبيل المثال أدناه سوف ينتج سلسلة “بلاه”:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

print(myobjectx.variable)

سنحصل على النتيجة التالية عند التشغيل

blah

يمكنك إنشاء كائنات مختلفة متعددة من نفس الفئة (لها نفس المتغيرات والوظائف المحددة). ومع ذلك ، يحتوي كل كائن على نسخ مستقلة من المتغيرات المعرفة في الفئة. على سبيل المثال ، إذا أردنا تعريف كائن آخر بفئة “MyClass” ثم تغيير السلسلة في المتغير أعلاه:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()
myobjecty = MyClass()

myobjecty.variable = "yackity"

# ثم اطبع كلا القيمتين
print(myobjectx.variable)
print(myobjecty.variable)

سنحصل على النتيجة التالية عند التشغيل

blah
yackity

الوصول إلى وظائف الكائن

للوصول إلى وظيفة داخل كائن ما ، تستخدم تدوينًا مشابهًا للوصول إلى متغير:

class MyClass:
    variable = "blah"

    def function(self):
        print("This is a message inside the class.")

myobjectx = MyClass()

myobjectx.function()

سنحصل على النتيجة التالية عند التشغيل

This is a message inside the class.

ما سبق سيطبع الرسالة ، “هذه رسالة داخل الفصل.”

تمرين

لدينا فئة محددة للمركبات. قم بإنشاء مركبتين جديدتين تسمى car1 و car2. قم بتعيين car1 لتكون سيارة حمراء قابلة للتحويل بقيمة 60.000.00 دولار باسم Fer ، و car2 لتكون سيارة زرقاء تسمى Jump بقيمة $ 10،000.00

# تحديد فئة المركبة
class Vehicle:
    name = ""
    kind = "car"
    color = ""
    value = 100.00
    def description(self):
        desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value)
        return desc_str
# رمزك هنا

# رمز الاختبار
print(car1.description())
print(car2.description())

الحل

# تحديد فئة المركبة
class Vehicle:
    name = ""
    kind = "car"
    color = ""
    value = 100.00
    def description(self):
        desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value)
        return desc_str

# رمزك هنا
car1 = Vehicle()
car1.name = "Fer"
car1.color = "red"
car1.kind = "convertible"
car1.value = 60000.00

car2 = Vehicle()
car2.name = "Jump"
car2.color = "blue"
car2.kind = "van"
car2.value = 10000.00

# رمز الاختبار
print(car1.description())
print(car2.description())

سنحصل على النتيجة التالية عند التشغيل

<script.py> output:
    Fer is a red convertible worth $60000.00.
    Jump is a blue van worth $10000.00.

الدرس الحادي عشر








Leave a Reply