Python OOPs: الفئة والكائن والميراث والمنشئ مع مثال

عفوا في Python

عفوا في Python هو أسلوب برمجة يركز على استخدام الكائنات والفئات مثل لغات البرمجة العامة الأخرى. يمكن أن تكون الكائنات أي كيانات في العالم الحقيقي. Python يسمح للمطورين بتطوير التطبيقات باستخدام نهج OOPs مع التركيز بشكل رئيسي على إمكانية إعادة استخدام التعليمات البرمجية. من السهل جدًا إنشاء فئات وكائنات فيها Python.

ما هي الدرجة؟

فئة في Python هو تجميع منطقي للبيانات والوظائف. إنه يمنح الحرية في إنشاء هياكل بيانات تحتوي على محتوى عشوائي وبالتالي يمكن الوصول إليها بسهولة.

على سبيل المثال، بالنسبة لأي موظف بنك يريد الحصول على تفاصيل العميل عبر الإنترنت، فإنه سيذهب إلى فئة العملاءحيث سيتم إدراج جميع سماتها مثل تفاصيل المعاملات، وتفاصيل السحب والإيداع، والديون المستحقة، وما إلى ذلك.

كيف تحدد Python فصول

لتحديد الفئة، عليك مراعاة النقاط التالية

الخطوة 1) In Python، يتم تعريف الفئات بواسطة "فصل" الكلمة

class myClass():

الخطوة 2) داخل الفئات، يمكنك تحديد الوظائف أو الأساليب التي تشكل جزءًا من هذه الفئة

def method1 (self):
   print "Guru99"
def method2 (self,someString): 
   print "Software Testing:" + someString
  • قمنا هنا بتعريف الطريقة 1 التي تطبع "Guru99".
  • هناك طريقة أخرى حددناها وهي الطريقة 2 التي تطبع "اختبار البرامج" + SomeString. SomeString هو المتغير الذي توفره طريقة الاستدعاء

الخطوة 3) يتم وضع مسافة بادئة لكل شيء في الفصل الدراسي، تمامًا مثل التعليمات البرمجية الموجودة في الوظيفة، والحلقة، وبيان if، وما إلى ذلك. وأي شيء لم يتم وضع مسافة بادئة فيه ليس موجودًا في الفصل الدراسي

حدد Python فصول

نوت: حول استخدام "الذات" في Python

  • تشير الحجة الذاتية إلى الكائن نفسه. ومن هنا جاء استخدام كلمة الذات. لذا، داخل هذه الطريقة، ستشير الذات إلى المثيل المحدد لهذا الكائن الذي يتم العمل عليه.
  • الذات هو الاسم المفضل حسب الاتفاقية Pythons للإشارة إلى المعلمة الأولى لطرق المثيل في Python. وهو جزء من Python بناء الجملة للوصول إلى أعضاء الكائنات

الخطوة 4) لجعل كائن من الفئة

c = myClass()

الخطوة 5) لاستدعاء أسلوب في الفصل الدراسي

c.method1()
    c.method2(" Testing is fun")
  • لاحظ أنه عندما نستدعي الطريقة 1 أو الطريقة 2، لا يتعين علينا توفير الكلمة الرئيسية الذاتية. يتم التعامل مع هذا تلقائيًا بالنسبة لنا بواسطة Python مدة العرض.
  • Python سوف يمرر وقت التشغيل القيمة "الذاتية" عند استدعاء أسلوب المثيل في المثيل، سواء قمت بتوفيره عن عمد أم لا
  • عليك فقط أن تهتم بالحجج غير الذاتية

الخطوة 6) ها هو الكود الكامل

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  def method2(self,someString):    
      print("Software Testing:" + someString)
  
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()

كيف يعمل الميراث

الوراثة هي ميزة تستخدم في البرمجة كائنية التوجه؛ يشير إلى تحديد فئة جديدة مع تعديل أقل أو بدون تعديل على فئة موجودة. الطبقة الجديدة تسمى فئة مشتقة ومن الذي يرثه يسمى قاعدة. Python يدعم الميراث. كما أنه يدعم ميراث متعدد. يمكن للفئة أن ترث السمات وأساليب السلوك من فئة أخرى تسمى فئة فرعية أو فئة الوريث.

حدد Python فصول

Python بناء جملة الميراث

class DerivedClass(BaseClass):
    body_of_derived_class

الخطوة 1) قم بتشغيل الكود التالي

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print ("childClass Method1")
        
  def method2(self):
        print("childClass method2")     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

لاحظ أنه لم يتم تعريف الطريقة 1 في ChildClass ولكنها مشتقة من myClass الأصلي. الإخراج هو "Guru99".

الخطوة 2) قم بإلغاء التعليق على السطر رقم 8 و10. قم بتشغيل الكود

الآن، تم تعريف الطريقة 1 في ChildClass ويتم عرض الإخراج "childClass Method1" بشكل صحيح.

الخطوة 3) قم بإلغاء التعليق على السطر رقم 9. قم بتشغيل الكود

يمكنك استدعاء أسلوب الفئة الأصل باستخدام بناء الجملة

ParentClassName.MethodName(self)

في حالتنا، نسميه، تتم طباعة myClass.method1(self) وGuru99 كما هو متوقع

الخطوة الاولى:) قم بإلغاء التعليق على السطر رقم 19. قم بتشغيل الكود.

يتم استدعاء الطريقة الثانية للفئة الفرعية وتتم طباعة "childClass Method2" كما هو متوقع.

Python الصانعين

المنشئ عبارة عن دالة فئة تقوم بإنشاء كائن إلى قيم محددة مسبقًا.

يبدأ بعلامة سفلية مزدوجة (_). يتم تنفيذ طريقة __init__()

في المثال أدناه نحن نأخذ اسم المستخدم باستخدام المنشئ.

class User:
    name = ""

    def __init__(self, name):
        self.name = name

    def sayHello(self):
        print("Welcome to Guru99, " + self.name)

User1 = User("Alex")
User1.sayHello()

سيكون الإخراج:

مرحبًا بك في Guru99، أليكس

Python 2 مثال

الرموز المذكورة أعلاه هي Python 3 أمثلة، إذا كنت تريد الركض Python 2 يرجى مراعاة الكود التالي.

# How to define Python classes
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
  def method2(self,someString):    
      print "Software Testing:" + someString
      
   
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()


#How Inheritance works
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
      
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print "childClass Method1" 
        
  def method2(self):
        print "childClass method2"     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

تعرف على برنامجنا التعليمي التالي حول تعدد الأشكال في Python

ملخص

"الفئة" هي مجموعة منطقية من الوظائف والبيانات. Python يوفر كل الميزات القياسية للبرمجة الشيئية.

  • آلية وراثة الطبقة
  • فئة مشتقة تتجاوز أي طريقة من فئتها الأساسية
  • يمكن للطريقة استدعاء طريقة الفئة الأساسية بنفس الاسم
  • Python يتم تعريف الفئات عن طريق الكلمات الرئيسية "صف دراسي" نفسها
  • داخل الفئات، يمكنك تحديد الوظائف أو الأساليب التي تشكل جزءًا من الفئة
  • يتم وضع مسافة بادئة لكل شيء في الفصل الدراسي، تمامًا مثل الكود الموجود في الوظيفة، والحلقة، وبيان if، وما إلى ذلك.
  • حجة الذات في Python يشير إلى الكائن نفسه. الذات هو الاسم المفضل حسب الاتفاقية Pythons للإشارة إلى المعلمة الأولى لطرق المثيل في Python
  • Python سوف يمرر وقت التشغيل القيمة "الذاتية" تلقائيًا عند استدعاء أسلوب المثيل في المثيل، سواء قمت بتوفيره عن عمد أم لا
  • In Python، يمكن للفئة أن ترث السمات وأساليب السلوك من فئة أخرى تسمى فئة فرعية أو فئة الوريث.

تلخيص هذه التدوينة بـ: