مقدمة في البرمجة الكائنية (OOP)
البرمجة الكائنية (Object-Oriented Programming) هي نمط من أنماط البرمجة يستخدم الكائنات (objects) والفئات (classes) لتنظيم الكود بطريقة أكثر تنظيمًا ووحداتية. في البرمجة الكائنية، تقوم بإنشاء “مخططات” للكائنات باستخدام الفئات، ثم تنشئ نسخًا من هذه الفئات تُسمى الكائنات.
إنشاء فئة
الفئة هي بمثابة مخطط لإنشاء الكائنات. تُعرف الفئة الخصائص (المتغيرات) والسلوكيات (الدوال) التي ستكون لدى الكائنات التي تُنشأ من هذه الفئة. إليك كيفية تعريف فئة بسيطة في بايثون:
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
print(f"{self.name} says woof!")
# Creating an instance (object) of the Dog class
my_dog = Dog("Buddy", 3)
print(my_dog.name) # Output: Buddy
print(my_dog.age) # Output: 3
my_dog.bark() # Output: Buddy says woof!
class Dog
: هذا يُعرّف فئة جديدة تُسمى Dog
.
__init__
: هذه دالة خاصة تُسمى المُنشئ (constructor) وتُهيئ الكائنات الجديدة. تُعد الإعداد الأولي لحالة الكائن.
self
: هذا يشير إلى النسخة الحالية من الفئة ويُستخدم للوصول إلى المتغيرات والدوال داخل الفئة.
name
وage
: هذه هي المتغيرات في فئة Dog
.
bark
: هذه دالة تُعرف سلوكًا لفئة Dog
.
إنشاء واستخدام الكائنات
بمجرد أن يكون لديك فئة، يمكنك إنشاء كائنات (نسخ من الفئة) عن طريق استدعاء الفئة كما لو كانت دالة:
dog1 = Dog("Buddy", 3)
dog2 = Dog("Lucy", 5)
dog1.bark() # Output: Buddy says woof!
dog2.bark() # Output: Lucy says woof!
تمارين
التمرين 1
قم بإنشاء فئة تُسمى Car
بمتغيرات للماركة (make) والطراز (model) والسنة (year). أضف دالة تُسمى display_info
تقوم بطباعة تفاصيل السيارة.
class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
def display_info(self):
print(f"Car: {self.year} {self.make} {self.model}")
car1 = Car("Toyota", "Camry", 2020)
car1.display_info() # Output: Car: 2020 Toyota Camry
التمرين 2
قم بإنشاء فئة تُسمى Book
بمتغيرات للعنوان (title) والمؤلف (author) وعدد الصفحات (pages). أضف دالة تُسمى read
تطبع “Reading [title] by [author]”.
class Book:
def __init__(self, title, author, pages):
self.title = title
self.author = author
self.pages = pages
def read(self):
print(f"Reading {self.title} by {self.author}")
book1 = Book("1984", "George Orwell", 328)
book1.read() # Output: Reading 1984 by George Orwell
التمرين 3
قم بتمديد فئة Dog
من المثال بإضافة دالة تُسمى birthday
التي تزيد عمر الكلب بمقدار واحد وتطبع رسالة.
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
print(f"{self.name} says woof!")
def birthday(self):
self.age += 1
print(f"Happy Birthday {self.name}! You are now {self.age} years old.")
my_dog = Dog("Buddy", 3)
my_dog.birthday() # Output: Happy Birthday Buddy! You are now 4 years old.
رائع! لقد قمت الآن بأول خطواتك في البرمجة الكائنية، وتعلمت كيفية تعريف الفئات وإنشاء الكائنات وإضافة الدوال إليها. البرمجة الكائنية هي طريقة قوية لتنظيم وترتيب الكود الخاص بك، خاصة مع ازدياد تعقيد برامجك.
اترك تعليقاً