دعنا نتحدث عن الوراثة المتعددة ، والتي يمكنك القيام بها في بايثون.
الآن ، تذكر ، لدينا معالج المستخدم وفئات آرتشر.
نحن نحاول بناء تلك اللعبة الآن.
لنقم بتنظيف بعض من هذه التعليمات البرمجية.
لن نحتاج إلى وظيفة init بعد الآن.
سيكون لدينا مستخدم فقط هنا.
لدينا معالج يرث من المستخدم وأيضًا آرتشر يرث من المستخدم.
ولكن ماذا يحدث إذا أردنا إنشاء شخصية جديدة وتسمى هذه الشخصية فئة ، دعنا نقول.
لنفترض أنها تسمى برج هجين أو نحن الاسم.
أنا أعرف.
ولكن هذا هو الشيء.
Hybrid Borg هو نوع خاص من الشخصيات لأنه يمتلك الصلاحيات التي يمتلكها المعالجات ، وهي الهجوم.
لديها القوة التي يتمتع بها الرماة ، وهي السهام التشيكية.
وللمتعة فقط ، دعنا نعرض هنا أيضًا.
وسنقول فقط إن أربع ركضات ركضت بسرعة كبيرة.
حسنا.
لذلك نريد أن يكون لدى هذا الهجين Borg كل هذه الطرق.
هل يمكننا فعل ذلك؟
حسنًا ، نستطيع.
كل ما علينا فعله هو قول ساحر ثم آرتشر.
يمكننا أن نعطيها العديد من المعلمات كما نريد.
كميراث متعدد نحن نرث من الساحر وآرتشر.
لذلك هنا ، دعنا نقول إنني لا أفعل أي شيء وسأحقق التمريرة.
إذا قمت بإنشاء مثيل ، دعنا نقول بورغ الهجين.
واحد سيكون هجين.
فئة بورج إنشاء مثيل لها.
يمكنني الآن استخدام كل هذه الأشياء.
دعونا نتحقق منها.
لنفترض طباعة HP one dot run.
هل يمكنني أن أفعل ذلك؟
ومرة أخرى ، خطأ إملائي بسيط.
دعونا نتأكد من أنها هجينة Borg ، وليست لوحة هجينة.
آمل ألا تمل من هذا الفيديو.
حسنًا ، لقد تلقيت خطأ.
فقدان اثنين من الحجج الموضعية المطلوبة.
الاسم والسلطة.
حسنًا ، لأن.
حسنًا ، علينا تمرير هذه الأشياء.
الصحيح.
يقبل هذه المعلمات.
تمام.
لنفترض أننا نريد أن يكون الاسم.
Borghi والقدرة على أن يكون 50 إذا قمت بتشغيل هذا.
حسنا.
يبدو أن ران سريع جدًا.
يعمل تشغيل.
استطعت أن أرث من آرتشر.
ماذا عن الأسهم التشيكية؟
إذا قمت بالنقر فوق تشغيل.
أوه.
أحصل على برج هجين.
الكائن ليس له أسهم سمة.
حاليا.
لماذا هذا؟
لأننا من الناحية الفنية.
موروث من الساحر أولاً ، ثم يقبل آرتشر والمعالج.
الاسم والسلطة.
لكننا لم نعطِ الأسهم والأسماء والسهام أبدًا.
همم.
فكيف يمكننا حل ذلك؟
لنجرب شيئًا ما.
لنفترض أننا أضفنا الأسهم هنا.
100 مع هذا العمل.
همم.
هذا لا يعمل ، أليس كذلك؟
وهذا أمر صعب مع تعدد الميراث ولماذا لا تسمح بعض لغات البرمجة في الواقع حتى بالوراثة
المتعددة.
يمكن أن تصبح الأمور صعبة بعض الشيء لأنه في ذهنك ، عليك التأكد من فهمك لكيفية تنفيذ
هذه الفئات والتأكد من أننا لا نكتب فوق أي شيء.
في حالتنا ، يمكننا تعقيد الكود الخاص بنا قليلاً.
إذن ماذا يمكننا أن نفعل هنا؟
حسنًا هنا ، ربما يمكنني فعل شيء كهذا.
أستطيع أن أقول تعريف فيه.
هذا يتلقى الذات.
سيحصل على اسم قوة.
و أيضا.
السهام.
ثم أخيرًا هنا ، يمكنني القول أننا سنطلق أيضًا على آرتشر.
نقطة فيه.
وسيؤدي ذلك إلى بيع ثم تمرير الاسم.
والسهام.
لذلك إذا قمت بتشغيل هذا.
حسنًا ، دعنا نضيف الأسهم 100 هنا وأنقر فوق تشغيل.
ها أنت ذا.
الأسهم تعمل الآن.
الآن فقط للتحقق من أن هجومنا على المعالج يعمل أيضًا.
إذا هاجمنا.
وانقر فوق تشغيل.
يا ولد.
الآن جسمنا الهجين ليس لديه قوة.
لذا مرة أخرى ، لكي نمتلك القوة ، علينا نسخ هذا ودعونا نقول هذا الوقت الساحر فيه
بنفسه ومن ثم نمنحه القوة.
إذا قمت بالنقر فوق تشغيل.
حسنا.
الهجوم يعمل.
دعنا نعود للتحقق من Aero.
تأكد من أننا لم نكسر أي شيء.
إذا قمت بالنقر فوق ذلك ، فهذا يعمل أيضًا.
ثم أخيرًا ، ماذا عن تسجيل الدخول؟
حسنا ، تسجيل الدخول العمل.
تسجيل الدخول.
حسنا.
يا ولد.
كان هذا كثيرًا.
وهناك عدة طرق لحل هذه المشكلة.
ما أردت أن أوضحه لكم ، مع ذلك ، هو أنه عندما تقوم بميراث متعدد ، يمكن أن تتعقد الأمور.
وعلى الرغم من أننا نتصفحها خطوة بخطوة ، تخيل ما إذا كان هناك مبرمج
جاء مع فريقك في العمل وحاول فهم هذا الرمز.
لقد أضفنا قدرًا كبيرًا من المنطق هنا والأمور تزداد تعقيدًا ويصعب تتبع
كل شيء في رأسك.
وهذا هو السبب في أن الميراث المتعدد هو أحد تلك الأشياء حيث يكون حقًا قويًا
حقًا ، ولكن مع القوة العظيمة تأتي مسؤولية كبيرة لأننا نخلق المزيد والمزيد من التعقيد.
مرة أخرى ، جزء من السبب في أن بعض لغات البرمجة لا تسمح لك بالفعل بالقيام بعمليات وراثة متعددة.
وبالمناسبة ، سأربكك أكثر.
وفي الفيديو التالي ، سنتحدث عن شيء يسمى مارو.
وسيكون مثالًا رائعًا آخر على سبب رغبتك في توخي الحذر مع الميراث المتعدد.
سأراك في ذلك.
مع السلامة.