مقدمة
تعتبر الفئات والكائنات من جوانب أساسية في لغة البرمجة بايثون. الفئات تُعد نماذج أو مخططات لإنشاء كائن، حيث تقوم بتوحيد البيانات والوظائف في وحدة واحدة. إنشاء فئة جديدة يُنشئ نوعًا جديدًا من الكائن، مما يتيح إنشاء نسخ جديدة من هذا النوع.
الحاجة إلى إنشاء فئة وكائن في بايثون
لفهم الحاجة إلى إنشاء فئة وكائن في بايثون، دعونا نفترض سيناريو حيث نحتاج إلى تتبع عدد من الكلاب، ولكل كلب خصائصه مثل السلالة والعمر. إذا استخدمنا قائمة، فإن العنصر الأول قد يكون سلالة الكلب، بينما يُمثل العنصر الثاني عمره. ولكن كيف سنعرف أي عنصر يمثل أي خصائص؟ هنا يظهر الفراغ في التنظيم، وهنا تأتي الحاجة إلى الفئات.
بناء فئة بايثون
تُنشئ الفئات باستخدام الكلمة الرئيسية class
، والسمات هي المتغيرات التي تنتمي إلى الفئة. تكون السمات دائمًا عامة ويمكن الوصول إليها باستخدام العامل نقطة. مثال:
class Dog:
breed = "Unknown"
age = 0
إنشاء كائن من فئة بايثون
الكائن هو مثيل من الفئة. يُمثل الكائن نسخة فعلية من الفئة مع قيم فعلية. يمكننا إنشاء الكثير من الكلاب باستخدام هذه الفئة، ولكن دون الفئة كدليل، سنكون ضائعين. يتألف الكائن من الحالة والسلوك والهوية.
# إنشاء كائن من الفئة Dog
my_dog = Dog()
print(my_dog.breed) # سيطبع "Unknown"
دورة حياة الفئة والكائن
عند إنشاء كائن من فئة، يتم قول أن الفئة قد تم ت實例ها. تشترك جميع الحالات في السمات والسلوكيات للفئة، ولكن قيم هذه السمات، أي الحالة، فريدة لكل كائن. يمكن أن تحتوي الفئة على عدد غير محدود من الحالات.
الأمثلة في بايثون
لنلقي نظرة سريعة على أمثلة عملية:
class Dog:
sound = "bark"
def __init__(self, breed, age):
self.breed = breed
self.age = age
def display_info(self):
print(f"I'm a {self.breed} and I'm {self.age} years old.")
# إنشاء كائنات من الفئة Dog
dog1 = Dog("Pug", 3)
dog2 = Dog("Bulldog", 5)
# الوصول إلى السمات واستدعاء الوظائف
print(dog1.sound) # سيطبع "bark"
dog1.display_info() # سيطبع "I'm a Pug and I'm 3 years old."
dog2.display_info() # سيطبع "I'm a Bulldog and I'm 5 years old."
الختام
في ختام هذا المقال، يتضح أن فهم إنشاء الفئات والكائنات في بايثون أمر حيوي. توفير تنظيم هيكلي للبيانات والوظائف يساعد في تسهيل البرمجة وجعل الشيفرة أكثر فهمًا. قم بتجربة استخدام الفئات والكائنات في مشاريعك القادمة لتعزيز تنظيم الشيفرة وجعلها أكثر إدارة.