Object Oriented Programming
درس اليوم هو عن البرمجة الكائنية الموجهة oop ,يتكون هذا الكائن من methods دوال , هذا الكائن تندرج تحته الدوال , ممكن نكتب اكثر من دالة و نعمل لها تضمين تحت الكائن تبقى وظيفته انه مسؤول عن هذه الدوال و بدل استدعاء كل دالة لوحدها نستدعي الكائن في الدوال الذي به كلها.لكتابة كلاس نكتب كالتالي:
>>> class Info: #اسم الكلاس يجب ان يبدأ بحرف كبير حصراً للتميز
def name (self):
return "hello world"
def age (self):
return 26
>>> c = Info()
>>> c.name()
'hello world'
>>> c.age()
'26'
في المثال السابق انشأنا كلاس اسمه Info ووضعنا تعليق انه اسم الكلاس يجب ان يبدأ بحرف كبير, وانشأنا دالة اسمها name و اعطينا قيمة ترجعها هي hello world ,وانشأنا دالة اخرى اسمها age و ترجع لنا قيمة 26 .
كلمة return بمثابة دالة الطباعه print و هي ترجع لنا القيمة المحددة.
و انشأنا متغير اسمه c و عيننا له قيمة الكلاس Info و بعدها استدعينا الدوال الذي داخل الكلاس عن طريق المتغير c الذي انشأناه.
ملاحظة : هذا في شل البايثون وضعنا return للميثود بمثالنا السابق , اما اذا ملف محفوظ نستبدلها بـ print ونكتب جميع الطلبات وبعدها نعطي run ليطبع لنا الناتج.
ملاحظة : هذا في شل البايثون وضعنا return للميثود بمثالنا السابق , اما اذا ملف محفوظ نستبدلها بـ print ونكتب جميع الطلبات وبعدها نعطي run ليطبع لنا الناتج.
constractor
الشكل العام له :class info:def __init__ (self):
مثال:
class info:
def __init__ (self):
print ("ahmed kaissar")
def my_info (self):
print ("database hack")
c = Info ()
اذا عملنا run حالياً ستكون النتيجة هي:
ahmed kaissar
نلاحظ انه طبع لنا فقط اول ميثود, أما الميثود الثانية لا تطبع الا عند استدعاءها شخصياً كالتالي
c.my_info()
بعدها استدعاءها سوف يتم طباعتها.
مثال
class Info:
def __init__ (self, name = "kaissar", age = 21):
self.name = name
self.age = age
def my_info (self,data = "my data"):
print (" hello world man ")
print (data)
c = Info ("data", "26")
c.my_info ("my new data")
print (c.name)
print (c.age)
عندما نعمل run ستكون النتائج كالتالي :
hello world man
my new data
data
26
المثال اظنه مفهوم للجميع لا يحتاج شرح و النتيجة واضحة كتبناها.
الوراثة
كلاس يورث كلاس آخر يأخذ جميع الميثود في الكلاس الآخر.
مثلاً نريد عمل كلاس جديد و يورث الكلاس في مثالنا السابق, ستكون الوراثة كالتالي
مثال عن الوراثة
class Info2 (Info):
هكذا الكلاس الجديد Info2 ورث جميع ما في الكلاس Info.
لنضيف ميثود جديدة للكلاس
class Info2 (Info):
def mydata (self):
print ("hello man")
c = Info2()
print (c.age)
print (c.name)
c.my_info()
c.mydata()
اذا عملنا run الآن سنحصل على النتيجة التالية
21
kaissar
hello world man
my data
kaissar
hello man
هذه عملية الوراثة بإختصار.
(رابط قناتنا التلجرام : https://t.me/Programmer_Tech )
تعليقات
إرسال تعليق