القائمة الرئيسية

الصفحات

بايثون 17 البرمجة كائنية التوجه

 



المحاضرة السابعة عشر

البرمجة كائنية التوجه

ما المقصود بالبرمجة كائنية التوجه

طريقة لكتابة الاكواد البرمجية بحيث نجمع بين الخصائص والوظائف ونربطها لكائن معين حيث يمكن ان ننشئ اكثر من كائن تمتلك نفس الخصائص والوظائف بقيم مختلفة من دون إعادة كتابة الكود البرمجي لكل كائن

يمكن توضيح الموضوع اكثر بتشبيه الموضوع بصنع قالب يمتلك مواصفات عامة ثم ننشئ كائنات تتلائم مع القالب وتحمل قيم لهذه المواصفات تختلف من كائن الى اخر وفي الفقرات التالية سنتناول الموضوع بتفصيل اكثر


ما هو 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()

 


تحميل ملخص المحاضرة من هنا

تعليقات

التنقل السريع