0% found this document useful (0 votes)
20 views3 pages

Exemple Python TS

Uploaded by

merabetsarra2020
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views3 pages

Exemple Python TS

Uploaded by

merabetsarra2020
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

‫‪1‬‬

‫مثال برمجي على تعريف صنف وإنشاء كائنات منه‬

‫لنفرض أنك تحتاج إلى تطوير برنامج لإدارة مكتبة باستخدام لغة البرمجة بايثون‪ ،‬إذا كنت تستخدم نموذج‬

‫البرمجة كائنية التوجه لتطوير هذا البرنامج فأول ما ستفكر به هو الأصناف التي ستحتاجها‪.‬‬

‫على سبيل المثال ستحتاج لتعريف صنف يمثل الكتاب وليكن اسمه ‪ Book‬ثم ستفكر في الخصائص أو السمات‬

‫المميزة لكل كتاب مثل العنوان واسم المؤلف وعدد الصفحات …إلخ‪ .‬ثم ستفكر في الوظائف التي ستطبق على‬

‫هذا الكتاب وهي استعارة الكتاب وحجز الكتاب وإعادته للمكتبة إضافة لطريقة البناء ‪ init‬التي تستدعى عند‬

‫إنشاء كائن أو كتاب جديد من الصنف وتهيئ خصائص هذا الكتاب ودوال الضبط والجلب لكل خاصية‪.‬‬

‫برمجيا من خلال كتابة الكود التالي بلغة بايثون‪:‬‬


‫ً‬ ‫سنحقق هذا الوصف‬

‫تعريف صنف يمثل كتاب ‪#‬‬


‫‪class Book(object):‬‬

‫الأستاذة حميدي‬
2

# ‫تعريف الدالة البانية للصنف‬


def __init__(self,title, author, pages):
self.title = title
self.author = author
self.pages = pages
# ‫دالة ضبط عنوان الكتاب‬
def setTitle(self, title):
self.title = title
# ‫دالة جلب عنوان الكتاب‬
def getTitle(self):
return self.title
# ‫دالة ضبط اسم الكاتب‬
def setAuthor(self, author):
self.author = author
# ‫دالة جلب اسم الكاتب‬
def getAuthor(self):
return self.author
# ‫دالة ضبط عدد الصفحات‬
def setNumPages(self, numPages):
self.numPages = numPages
# ‫دالة جلب عدد الصفحات‬
def getNumPages(self):
return self.numPages
# ‫دالة لطباعة متغيرات الكتاب‬
def printbook(self):
print('‫)'تم إنشاء الكتاب التالي‬
print('------------')
print('‫العنوان‬: ' , self.title)
print('‫الكاتب‬: ' , self.author)
print('‫عدد الصفحات‬: ' , self.pages)

# ‫دالة إلعارة الكتاب‬


def borrow_book(self):
print(f"{self.title} ‫)"تمت استعارة كتاب‬
# ‫دالة إلرجاع الكتاب‬
def return_book(self):
print(f"{self.title} ‫)"تمت إعادة كتاب‬
# ‫دالة لحجز الكتاب‬

‫الأستاذة حميدي‬
‫‪3‬‬

‫‪def reserve_book(self):‬‬
‫)"تم حجز كتاب }‪print(f"{self.title‬‬

‫بعد تعريف الصنف يمكننا في أي مكان في البرنامج إنشاء كائنات والتعامل معها بالشكل التالي‪:‬‬

‫إنشاء كائن أول من صنف الكتاب ‪#‬‬


‫)‪", 480‬أكاديمية حسوب" ‪",‬البرمجة بلغة بايثون"(‪book1=Book‬‬
‫)(‪book1.printbook‬‬
‫)(‪book1.borrow_book‬‬
‫)'‪print('\n‬‬

‫سنحصل على المخرجات التالية بعد تنفيذ الشيفرة‪:‬‬

‫تم إنشاء الكتاب التالي‬


‫‪------------‬‬
‫العنوان‪ :‬البرمجة بلغة بايثون‬
‫الكاتب‪ :‬أكاديمية حسوب‬
‫عدد الصفحات‪480 :‬‬
‫البرمجة بلغة بايثون تمت استعارة كتاب‬

‫يمكننا إنشاء كتاب آخر بتنفيذ تعليمة واحدة سهلة بسيطة وهكذا‪:‬‬

‫إنشاء كائن ثاني من صنف الكتاب ‪#‬‬


‫)‪", 450‬أكاديمية حسوب" ‪",‬البرمجة بلغة جافا سكريبت"(‪book2=Book‬‬
‫)(‪book2.printbook‬‬
‫)(‪book2.reserve_book‬‬
‫سنحصل ً‬
‫أيضا على المخرجات التالية‪:‬‬

‫تم إنشاء الكتاب التالي‬


‫‪------------‬‬
‫العنوان‪ :‬البرمجة بلغة جافا سكريبت‬
‫الكاتب‪ :‬أكاديمية حسوب‬
‫عدد الصفحات‪450 :‬‬
‫البرمجة بلغة جافا سكريبت تم حجز كتاب‬
‫لاحظ كيف خلصتنا البرمجة بالكائنات الكثير من العمل ومن تكرار الشيفرة وهذه هي أبرز ميزة تتميز فيها‬
‫البرمجة كائنية التوجه‪.‬‬

‫الأستاذة حميدي‬

You might also like