طريقة التجاوز في بايثون
نشرت: 2023-01-28جدول المحتويات
المتطلبات الأساسية لفهم تجاوز الطريقة:
يعد تجاوز الطريقة أحد أهم المفاهيم في البرمجة الشيئية. يمكن تغيير تنفيذ وظيفة معينة في فئة فرعية محددة في فئة أصل عن طريق تجاوز الطريقة. يمكن تعريف تجاوز الطريقة على أنه قدرة الفئة الفرعية على تغيير تنفيذ الطريقة التي يتم تقديمها بواسطة أحد فئتها الأصلية ، والتي يشار إليها باسم الأسلاف. لتجاوز دالة ، يجب أن يستوفي الفصل المعايير التالية.
- فئة قابلة للتوريث: لا يمكن إجراء تجاوز للدالة داخل فئة. اشتقاق فئة الطفل من فئة الوالدين أمر ضروري.
- يجب أن يكون توقيع الوظيفة المعاد تعريفها في الفئة الفرعية وتلك الموجودة في الفئة الأصلية هي نفسها. بمعنى آخر ، يجب أن تحتوي الوظيفة التي تم تجاوزها والوظيفة في الفئة الأصلية على نفس عدد الوسائط والمعلمات.
نظرة عامة على تجاوز الأسلوب في بايثون:
كما تم تعريفه سابقًا ، فإن الطريقة التي تتجاوز خاصية لغة البرمجة الموجهة للكائنات والتي بموجبها توفر الفئة الفرعية تنفيذًا معينًا للطريقة التي يتم تقديمها بالفعل من قبل إحدى فئاتها الفائقة. يُقال أن الطريقة في فئة فرعية (فئة فرعية) تتجاوز طريقة فئة فائقة (فئة أصل) عندما يكون لطريقة الفئة الفرعية نفس المعلمات أو التوقيع ، ونفس الاسم ونوع الإرجاع المتطابق أو النوع الفرعي مثل الطريقة في فئتها الفائقة.
الكائن المستخدم لاستدعاء طريقة تم تنفيذها يحدد نسختها. سيتم تنفيذ الإصدار الموجود في الطبقة الفائقة إذا تم استخدام كائن في الفئة الفائقة لاستدعاء الطريقة. ومع ذلك ، إذا تم استدعاء طريقة بواسطة كائن في الفئة الفرعية ، فسيتم تنفيذ إصدار الفئة الفرعية. بمعنى آخر ، يتم استخدام نوع الكائن المشار إليه لتحديد إصدار الطريقة التي تم تجاوزها وتنفيذها. لا يتم تحديد إصدار الطريقة التي تم تجاوزها بنوع المتغير المرجعي.
تحقق من دورات upGrad لعلوم البيانات
فوائد تجاوز الطريقة:
الميزة الأساسية لتجاوز الطريقة في Python هي أن الفئة تقدم نموذجًا محددًا بنفسه للطريقة الموروثة دون تغيير رمز الفئة الرئيسية. هذه الميزة مفيدة أيضًا في الحالات التي يستخدم فيها الفصل الفرعي فئة أصل بها فصول فرعية متعددة. في هذه الحالة ، يمكن استدعاء طريقة ومعلمات الفئة الأصلية بواسطة الفئة الفرعية دون تعديل رمز الفئة الأصلية.
استكشف دوراتنا الشهيرة في علوم البيانات
برنامج الدراسات العليا التنفيذية في علوم البيانات من IIITB | برنامج الشهادة المهنية في علوم البيانات لاتخاذ قرارات الأعمال | ماجستير العلوم في علوم البيانات من جامعة أريزونا |
برنامج الشهادة المتقدمة في علوم البيانات من IIITB | برنامج الشهادة الاحترافية في علوم البيانات وتحليلات الأعمال من جامعة ماريلاند | دورات علوم البيانات |
اقرأ مقالاتنا الشهيرة في علوم البيانات
المسار الوظيفي لعلوم البيانات: دليل مهني شامل | النمو الوظيفي لعلوم البيانات: مستقبل العمل هنا | لماذا علم البيانات مهم؟ 8 طرق تضيف علوم البيانات قيمة إلى الأعمال |
أهمية علم البيانات للمديرين | ورقة الغش النهائية لعلم البيانات التي يجب أن يمتلكها علماء البيانات | أهم 6 أسباب لماذا يجب أن تصبح عالم بيانات |
يوم في حياة عالم البيانات: ماذا يفعلون؟ | ضبطت الأسطورة: علم البيانات لا يحتاج إلى تشفير | ذكاء الأعمال مقابل علوم البيانات: ما هي الاختلافات؟ |
الفروق بين أسلوب التجاوز والتحميل الزائد للطريقة
أسلوب التجاوز | طريقة التحميل الزائد |
يجب أن يكون للطرق أو الوظائف في كلا الفئتين الرئيسية والفرعية نفس التوقيعات ونفس الأسماء. | يجب أن يكون للوظائف أو الطرق نفس الأسماء. ومع ذلك ، لا يلزم أن تكون توقيعاتهم هي نفسها. |
هذا مثال على تعدد أشكال وقت التشغيل. | هذه العملية هي مثال على تعدد أشكال وقت الترجمة. |
الوراثة أمر لا بد منه لتجاوز الطريقة في بايثون. | قد يكون وراثة الفصول مطلوبة في بعض الحالات. ومع ذلك ، قد لا يكون مطلوبًا في جميع الحالات. |
يحدث تجاوز الطريقة بين الطرق في الفئة الأصل والفئة الفرعية. ومع ذلك ، لا يمكن أن يحدث ذلك داخل الفصل. | طريقة التحميل الزائد تحدث بين الطرق داخل نفس الفئة. |
تُستخدم هذه الميزة لتغيير سلوك الأساليب الحالية. | يتم استخدامه لإضافة المزيد إلى سلوك الطريقة. |
يلزم وجود فئتين على الأقل (فئة فرعية وفئة رئيسية) لتنفيذ تجاوز الطريقة. | لا توجد فئات إضافية مطلوبة لأن التحميل الزائد يحدث بين الطرق داخل نفس الفئة. |
إذا كنت ترغب في التعرف بشكل متعمق على طريقة تجاوز لغة بايثون ، فنحن نقترح عليك دراسة ماجستير العلوم في علوم البيانات لمدة 18 شهرًا . تقدم upGrad هذه الدورة من IIIT Bangalore وجامعة ليفربول جون مور. تعلمك الدورة مهارات مثل الإحصاء والتحليلات التنبؤية باستخدام Python والتعلم الآلي وتصور البيانات وتحليلات البيانات الضخمة والمزيد. يتمتع الطلاب الذين لديهم معرفة قوية بمفاهيم بايثون بوضع جيد للتعامل مع مواضيع مثل التعلم العميق ومعالجة اللغة الطبيعية وتحليلات الأعمال وهندسة البيانات.