التخطي إلى المحتوى الرئيسي

Python: Class & Objects



 Python: .py

بايثون و ما ادراك ما بايثون...نحن هنا لا نتكلم عن لغة برمجة عادية بالنحن نتكلم عن ارقاها على الأطلاق فمن مميزات هذه اللغة:

1. دعم البرمجة كائنية التوجه
2. حرة و مفتوحة المصدر
3. متعددة المصادر التعلمية - مما يجعل منها سهلة التعلم - 

ومن مكاني هذا اود ان اكلمكم عن اهم ما تتضمنه هذه اللغة وهي الفئات او ما يعرف بال(Class) وسأذكر في هذا المقال كيفية انشائها واستدعائها وتضمين الوظائف فيها وانشاء الما يسمى بالكائنات(Objects) منها. فلنبدأ على بركة الله.

سنقوم بإنشاء فئة تتجلى مهمتها في طباعة "Hello" مرفقة بأسم الشخص الذي تريد ان تقوم بترحيب به.
نبدأ بتعريف الفئة عن طريق كتابة(class) ونكتب بعده مباشرة اسم الفئة التي هي في هذه الحالة (Hello) ويفضل أن يبدأ اسم الفئة بحرف كبير فهذا هو المتعارف عليه في مجتمع المبرمجين.

 كل فئة يجب ان تحتوي على ظيفة تسمى __init__ و هذه هي الوضيفة الرئيسية التي تقوم بأنشاء الكائنات منها كما سنذكر لاحقاً و هي تحمل قيمة معروفة و هي self و بعدها نقوم بأضافة المطلوب ما ستقوم الفئة باستقباله من المستخدم لكي تعطيه للكائن و هذا سوف يوضح لاحقاً كذلك.
يجب ان نجعل لكل قيمة تستقبلها الوظيفة نظيراً لها لكن للفئة نفسها عن طريق(self.nameOfArge) و هذه القيم يمكن التعامل معها في ما بعد.



 من بعد ان قمنا بتعريف المتغير و قمنا بأنشاء الدالة المسؤولة عن بناء الكائنات و هي __init__ أصبح بإمكاننا ان ننشئ اول كائن لنا من هذه الفئة.
يجب علينا الآن ان نقوم بأنشاء متغير لنحفظ به هذا الكائن و الافضل ان نجعل اسم المتغير على اسم الكائن المراد انشاءه و في حالتنا هذه سيسمى say_hello و نقوم بوضع الكائن داخل هذا المتغير بقي علينا انشاء الكائن عن طريق كتابة اسم الفئة و هي Hello() مع الاقواس من بعدها لكي يفهم المفسر اننا نريد انشاء كائن من هذه الفئة و نضع اسم الشخص الذي نريد ان نقول له مرحبا(Hello) ولنفترض انه محمد .
و سنقوم بطباعة المتغير لكي نرى المخرجات.

لو قمنا بتغيل البرنامج الآن سوف نحصل على هذا :
<__main__.Hello object at 0x00000220BC82B490>
فما هذه "طلامس" المعقدة و من اين اتت؟!

حسنا يا صديقي...هذا هو الكائن الذي قمت بصنعه او بالمعنى الاصح هذا هو مكانه بالذاكرة ف  0x00000220BC82B490 هو عنوان هذا الكائن في الذاكرة و يتغير في كل مرة تشغل فيها البرنامج .
فلكي تقوم بطباعة النص الذي كنت تتوقعه (Hello Muhammed) فعليك استخدام الدالة السحرية __str__ و تعديلها لترجع لك القيمة المرغوبة و لا تقلق فلأمر ليس معقدا على الاطلاق كل ما عليك هو تعريف هذه الدالة من جديد و وضع ما تريد منها القيام به و في حالتنا سنجعلها تقيد لنا النص الذي ذكر آنفاً * ولا ننسى ان كل الدوال التي تعرف في الكلاس تأخذ self كقيمة افتراضية و معروفة *.


و الآن من بعد ان قمنا بتعريف هذة الدالة السحرية أصبح بأمكاننا طباعة النص المراد ظهوره و النتيجة هي [Hello Muhammed] و هكذا نكون قد قدمنا فكرة بسيطة جدا عن هذا الموضوع العملاق فالفئات في بايثون يطول الشرح عنها و الحديث.

شكراً لكم على القراءة و إلى موعدٍ قريب.




تعليقات

The most read

سياسة المدونة

 هذه المدونة للمواضبع العامة و المنوعة من بنات افكري انا القائم على المدونة. كل ما سيتم نشره على مدونة Twisters50 من مقالات ستكون باشراف القائمين على هذه المدونة. للعلم فلهذه المدونة اهداف واضحة و صريحة فهي تقوم المبادئ التالية:     1. المصداقية و ارفاق المصادر في حال وجود مقال يتحدث عن موضوع علمي او بحثي او تقني.      2. عدم شخصنة اي مقال يضر فرداً بعينه او مجموعة من الافراد و التكلم بشكل عام.     3. عدم اظهار او التصريح باي مشاهد او صور او عبارات او ايحائات تحمل طابع جنسي.     4. عدم اظهار او التصريح باي كلمات بذيئة او مسيئة سواءً لفرد او مجموعة من الافراد او ال مؤسسات.     5. ايصال المعلومات بشكل واضح و بسيط بلا اي تعقيد -إن امكن- او انحياز في طريقة الطرح.     6. عدم التمييز على اساس العرق او الدين او اللون او الانتماء بما يتماشى مع الفطرة السليمة أما الهدف الرئيسي للمدونة فيتمثل في:      امتاع القارئ و تزويده بالمعرفة او بموارد جديدة لخيال المتلقي  شكرا لقراءة المقال♥