المحاضرة السابعة عشر
البرمجة كائنية التوجه
ما المقصود بالبرمجة كائنية التوجه
طريقة لكتابة الاكواد
البرمجية بحيث نجمع بين الخصائص والوظائف ونربطها لكائن معين حيث يمكن ان ننشئ
اكثر من كائن تمتلك نفس الخصائص والوظائف بقيم مختلفة من دون إعادة كتابة الكود
البرمجي لكل كائن
يمكن توضيح الموضوع اكثر
بتشبيه الموضوع بصنع قالب يمتلك مواصفات عامة ثم ننشئ كائنات تتلائم مع القالب
وتحمل قيم لهذه المواصفات تختلف من كائن الى اخر وفي الفقرات التالية سنتناول
الموضوع بتفصيل اكثر
ما هو class
عبارة عن قالب يمتلك
صفات عامة تتكون من متغيرات ( خصائص ) و وظائف ( دوال ) حيث يمن انشاء كائنات
تمتلك هذه المواصفات والخصائص بقيم مختلفة ويمكن تعريف الكلاس باستخدام الكلمة
المحجوزة class و افضل مثال هوة الكلاس المسمى شخص حيث يمتلك هذا الكلاس عدة
خصائص منها اسم الشخص طول الشخص و عمر الشخص كذلك يمتلك عدة وظائف مثلا المشي او
تناول الطعام او الحديث
ويمكن تعرف الكلاسات في لغة بايثون من خلال الطريقة التالية
class class_name:
Block of cod
مثال1
انشاء كلاس فارغ
class person :
pass
ما هو الكائن object
هو متغير تم تعريفه من
كلاس منشئ مسبقا حيث يمتلك صفات معينة معرفة داخل الكلاس
مثال 2
انشاء كائن من كلاس فارغ
class person :
pass
mohammed=person()
صفات الكائن
صفات الكائن عبارة عن متغيرات يتم تعريفها داخل الكلاس عادة ما تمثل الصفات العامة للكلاس حيث يتم اسناد قيم افتراضية داخل الكلاس ومكن تغيرها بعد تعريف الكائن
مثال3
class person :
name=’ali’
age=18
length=135
mohammed=person()
mohammed.name=’mohammed’
mohammed.age=22
mohammed.length=165
print(mohammed.name)
print(mohammed.age)
print(mohammed.length)
وظائف الكائن
عبارة عن دوال يتم
تعرفها داخل الكلاس وترتبط بالكائن حيث يمكن استدعائها من خلال الكائن
ويجب استخدام الكائن self في داخل الدالة ليرمز للكان الذي يتم تعريفه فيما بعد
مثال4
class person :
name=’ali’
age=18
length=135
def hello(self):
print(f’hello my name is {self.name}’)
mohammed=person()
mohammed.name=’mohammed’
mohammed.age=22
mohammed.length=165
print(mohammed.name)
print(mohammed.age)
print(mohammed.length)
mohammed.hello()
دالة البناء
وهي دالة يتم استدعائها
بشكل تلقائي عند تعريف كائن من الكلاس و اسمها ثابت وهو __init__()
مثال5
class person :
name=’ali’
age=18
length=135
def __init__
(self,name,age,length):
self.name=name
self.age=age
self.length=length
def hello(self):
print(f’hello my name is {self.name}’)
mohammed=person(‘mohammed’,22,165)
print(mohammed.name)
print(mohammed.age)
print(mohammed.length)
mohammed.hello()
الوراثة
وهي توريث صفات كلاس
لكلاس ثاني أي ان الكلاس الثاني سيمتلك خصائص و وظائف الكلاس الأول بدون إعادة
تعريفها
مثال 6
class person :
name='ali'
age=18
length=135
def __init__ (self,name,age,length):
self.name=name
self.age=age
self.length=length
def hello(self):
print(f'hello my name is {self.name}')
class ampp (person):
Id=0
ali=ampp('ali',25,170)
ali.Id=5
print(ali.Id)
print (ali.age)
print(ali.length)
ali.hello()
تحميل ملخص المحاضرة من هنا
تعليقات
إرسال تعليق