‫أهلا بكم من جديد إلى مثال تعدد الأشكال.
‫في هذا الفيديو ، سأستخدم نهجًا مختلفًا حيث تواجه أولاً تحديًا بسيطًا.
‫يجب عليك كتابة بعض التعليمات البرمجية التي ستساعدك على فهم الميراث بشكل أكبر قليلاً أو أفضل قليلاً.
‫وبعد ذلك سنذهب إلى الأشكال المتعددة ، ونجعل جزءًا من هذا البرنامج بأكمله.
‫لذا يرجى المضي قدمًا ومحاولة كتابة الكود وفقًا لهذا التحدي هنا.
‫لذا أوقف الفيديو وحاول.
‫حسنا.
‫أتمنى أن تكون قد جربتها.
‫لذلك سأقوم بإنشاء فصل دراسي جديد ، وسأطلق عليه اسم السيارة.
‫وهذه الفئة ستكون فئة سيارات عامة.
‫ويمكن أن تحتوي أو يجب أن تحتوي على خصائص.
‫الصحيح.
‫كما قلت ، يجب أن يكون لها خاصية تسمى HP Prop ويجب أن تكون عددًا صحيحًا وستكون HP هي القدرة الحصانية.
‫إذن ما مدى قوة هذه السيارة؟
‫ثم خاصية أخرى وهي من نوع السلسلة وأيها اللون؟
‫الآن ما أحتاجه بعد ذلك هو أن يكون لدي مُنشئ.
‫لذلك سأقوم بإنشاء سيارة عامة تأخذ HP واللون.
‫وهنا قمت للتو بتعيين هذه النقطة HP على أنها HP وهذا اللون النقطي كلون.
‫لذلك سيكون هذا اللون هو لون خصائصنا وستكون HP هي HP لفئتنا أو كائننا الذي تم
‫إنشاؤه من نوع السيارة.
‫الآن يجب أن تكون الطريقة التالية هي طريقة إظهار التفاصيل.
‫لذلك تظهر تفاصيل الفراغ العام.
‫وهنا نكتب شيئًا على وحدة التحكم.
‫إذن CW ، HP ستكون زائد HP.
‫ثم لدينا اللون ، الذي يجب أن يكون شيئًا مثل اللون.
‫لذلك بالطبع يمكنني استخدام نهج مختلف حيث أستخدم التلاعب بالأوتار هنا ، لكنني سأبقيها
‫على هذا النحو.
‫بسيط جدا.
‫لذا فإن التالي هو فراغ عام ويسمى الإصلاح.
‫وسنقوم بتغيير هاتين الطريقتين لاحقًا.
‫لذلك لا تقلق.
‫لكن في الوقت الحالي ، أردت أن أبقيها بسيطة للغاية.
‫من خلال الأساليب التي استخدمناها حتى الآن ، سيوضح ذلك ما يفعله تعدد الأشكال وهنا
‫يقول فقط تم إصلاح السيارة.
‫حسنًا ، هذه هي سيارتنا وهذه هي فئتنا الأساسية.
‫والآن نحتاج إلى الفئتين الأخريين ، وهما فئة BMW و BMW.
‫وهنا ، كما قلت ، لدينا خاصية إضافية تسمى النموذج وهذا نموذج سلسلة.
‫الآن ، هناك جانب آخر هو العلامة التجارية ، وهي عضو خاص.
‫لذا فهي ماركة سلسلة خاصة وتسمى BMW.
‫الآن بعد ذلك نحتاج إلى مُنشئ ، لذا فإن BMW عامة.
‫وقبل أن أفعل ذلك ، قبل أن أقوم بإنشاء المُنشئ ، أريد أن أرث من السيارة.
‫لذا الآن سوف ترث سيارتي BMW من السيارة.
‫وما أحتاجه هنا هو HPP ، ثم اللون
‫والنموذج وهنا وفاصلة.
‫لذا ما يمكنني فعله هو أنه يمكنني ضبط HPP على HPP في الواقع يمكنني المضي قدمًا والقيام بنفس الشيء مع
‫اللون.
‫سيكون اللون والنموذج الذي هو ملكنا يجب أن يكون النموذج.
‫لذلك هذا هنا ، هناك ، أستخدم هذا لأنني أريده لهذا الكائن ونفس الشيء الذي يمكنني فعله
‫هنا ويمكنني القيام به هنا.
‫لذلك على الرغم من أنني لم أقم بإنشائها هنا ، كما ترون ، لا يزال بإمكاني استخدامها.
‫الآن ، هذا شيء لم تره بعد ، وهو القاعدة.
‫لذا يمكنني استخدام الكلمة الأساسية الأساسية هنا وبعد ذلك يمكنني ببساطة أن أقول ، حسنًا ، أريد استخدام
‫HPP ولون صفي الأساسي ، وبعد ذلك لم أعد بحاجة إلى هذين السطرين حتى يمكنني التخلص منهما.
‫كما ترى الآن ، يختفي الخطأ أيضًا.
‫لذا فقد أنشأنا الآن مُنشئًا يستخدم المُنشئ الأساسي لقاعدتنا ، وهو ما يعني الفئة الأساسية
‫لدينا ، وهي سيارتنا.
‫سيستخدم هذا المُنشئ فقط وسيضيف النموذج فقط.
‫إذن لدينا الآن مُنشئ قصير جدًا يقوم بكل المهمة ، كل المهمة بأكملها.
‫والآن ما أحتاجه بعد ذلك هو تفاصيل عرض باطلة ، كما قلت.
‫وهنا أريد فقط إظهار التفاصيل وسأقوم بنسخ الطريقة من هنا أو إدخال
‫الطريقة.
‫وهنا ستكون العلامة التجارية أولاً.
‫لذا العلامة التجارية بالإضافة إلى العلامة التجارية بالإضافة إلى HP.
‫حتى الآن سوف تظهر فقط بعض التفاصيل الإضافية.
‫وهنا ، كما ترى ، قم بإظهار التفاصيل ، والإخفاء ، وتفاصيل عرض سيارة الأعضاء الموروثة ، واستخدم الكلمة الأساسية
‫الجديدة إذا كان الإخفاء مقصودًا.
‫وهذا شيء سنقوم بتغطيته في الفيديو التالي.
‫لكن في الوقت الحالي ، لنقم أيضًا بإنشاء طريقة الإصلاح ، إصلاح الفراغ العام.
‫وهنا يجب أن يقول شيئًا مثل BMW
‫وهنا تم إصلاحه.
‫إذن ما هو هذا الصفر الذي لدي هناك؟
‫حسنًا ، هذا هو النموذج.
‫لذلك أريد فقط معرفة طراز السيارة وسأقول فقط ، لنفترض أنه تم إصلاح BMW أو Z أو Phi
‫أو az4 أو MX ثلاثة أو MX 5.
‫إذن هذا ما يجب أن يفعله هذا.
‫والآن أنا بحاجة إلى فصل آخر ، فصل آخر ، وهو مشابه جدًا لما لدينا هنا.
‫لذلك سأقوم بإنشاء فئة جديدة وسأطلق عليها اسم أودي.
‫وللبساطة ، سأقوم فقط بنسخ معظم الأشياء هنا ، في الواقع ، الفصل بأكمله ، لأنه سيكون
‫متشابهًا جدًا.
‫ما هو مختلف هنا هو أنها Audi وأن لدينا Audi كمنشئ وبالطبع يجب أن
‫ترث من السيارة.
‫الآن يتم ذلك والآن يأتي جزء تعدد الأشكال.
‫لذلك لدينا أودي وهي من نوع السيارات ، ولدينا سيارة BMW وهي أيضًا من نوع السيارات.
‫ولدينا هذه الفئة الأساسية وهي السيارة ، والآن يمكننا المضي قدمًا وإنشاء كائنات متعددة من ذلك.
‫الآن سيكون الأمر أكثر منطقية بمجرد أن نصل إلى هناك.
‫لذلك دعونا نمضي قدمًا وننشئ متغيرًا جديدًا يسمى السيارات ، والذي سيكون قائمة جديدة من السيارات.
‫وعلى الرغم من أن هذه قائمة بالسيارات ، لذلك من فئة السيارات ، يمكننا إنشاء كل هذه و BMW هنا.
‫لذا يمكننا فقط إنشاء ، دعنا نقول سيارة أودي باللون الأزرق وهي A أربعة.
‫ثم لدينا سيارة BMW جديدة ، لنقل 250 حصانًا ، ولنفترض أنها سيارة حمراء وهي MX ثلاثة.
‫هذا جزء من تعدد الأشكال حيث يمكنك استخدام الفئات الفرعية بدلاً من الفئة الأساسية أو الفئات المشتقة بدلاً
‫من الفئة الأساسية عند العمل ، على سبيل المثال ، مع القوائم أو بشكل عام وبشكل
‫عام ، سترى ما أعنيه.
‫لذا ما سأفعله هو أنني سأقوم بتشغيل كل حلقة ، والتي ستقوم بفحص
‫جميع سياراتي في قائمة سياراتي.
‫وستكتب شيئًا مثل إصلاح السيارة أو أنها ستطلق على طريقة الإصلاح.
‫حسنًا ، لنسمي ذلك أو لنجري ذلك.
‫ولكن قبل القيام بذلك ، نحتاج إلى التحكم في المفتاح الصحيح.
‫لأنه بخلاف ذلك سيتم إغلاق برنامجنا ببساطة.
‫حسنا ها انت ذا.
‫السيارة تم تصليحها.
‫لذا فهي الآن تستدعي طريقة السيارة هنا.
‫أيهما هذا هنا؟
‫السيارة تم تصليحها.
‫لذلك فهي لا تستدعي طريقة الإصلاح هذه ولا تسمي طريقة الإصلاح هذه ، حيث
‫تم إصلاح BMW أو هنا في الواقع يجب أن يكون الصوت أو Audi.
‫تم إصلاح أودي.
‫فلماذا الآن يطلق على طريقة إصلاح سيارتنا وليس طريقة إصلاح BMW و Audi التي
‫تتعلق بشيئين.
‫إذن واحد منهم هو أن لدينا هذا الإصلاح الفراغي ، وهو ليس إصلاحًا افتراضيًا.
‫لذا ، إذا قمنا بإصلاح الفراغ الافتراضي ، فما يمكننا فعله الآن ، على سبيل المثال ، هنا يمكننا تجاوزه.
‫حتى الآن يمكننا تجاوز طريقة الإصلاح.
‫ما سيفعله ذلك هو إذا قمنا بتشغيل الكود مرة أخرى.
‫سوف نرى.
‫السيارة تم تصليحها.
‫هذه أودي لدينا ، الأولى.
‫ثم تم إصلاح BMW M الثلاثة وهذا هو الثاني.
‫وذلك لأن فئة BMW الخاصة بنا هنا قد تجاوزت طريقة الإصلاح.
‫لذلك يمكننا ببساطة أن نأخذ هذه الطريقة ، ونجعلها افتراضية ، وهذا يسمح لنا بتجاوزها في فئات الاشتقاق.
‫وهذا ما فعلناه هنا.
‫حتى الآن هناك جانبان من تعدد الأشكال.
‫لذلك يمكن استخدام شبكة تعدد الأشكال 1 و ODI و VW و Porsche ، بغض النظر عن الفئات المختلفة التي
‫تريدها أينما كان من المتوقع وجود سيارة.
‫لذلك عندما يرثون من هذه الفئة هنا ، من فئة السيارات لدينا هنا ، يمكننا ببساطة استخدامها بدلاً
‫من ذلك.
‫ومن ثم فإن الجانب الثاني لتعدد الأشكال هو أنه يمكن استدعاء الطريقة الافتراضية في كل فئة من الفئات
‫المشتقة ، وليس على الفئة الأساسية.
‫هذا شيء قمنا به مع BMW والآن يمكننا أن نفعل نفس الشيء مع طلبنا هنا.
‫لذلك سأقوم فقط بعمل هذا التجاوز أيضًا.
‫تجاوز ، باطل ، إصلاح.
‫لنقم الآن بتشغيله مرة أخرى.
‫والآن يجب أن يعرض كلاهما علامتهما التجارية ونماذجهما.
‫لذلك نرى أودي A4 و BMW M3 تم إصلاحهما.
‫هناك شيء آخر حول تعدد الأشكال.
‫لذلك إذا كنت تريد إخفاء أعضاء الفئة الأساسية بأعضاء جدد ، فيمكنك استخدام الكلمة الأساسية الجديدة.
‫لنفترض أن لدينا طريقة عرض التفاصيل الفارغة هذه في فئة سياراتنا ، والتي تعد مجرد فراغ.
‫إنه ليس فراغًا افتراضيًا.
‫والآن إذا كنت أرغب في تجاوز ذلك ، فلا تتجاهل بمعنى أننا فعلنا هنا مع التجاوز.
‫لكنني في الواقع أرغب في استخدام هذه الطريقة بدلاً من ذلك عندما أستخدم سيارة BMW وليس بمعنى تجاوز الطريقة القديمة
‫، ولكن فقط إخفاء واحدة من السيارة واستخدام تفاصيل العرض بدلاً من ذلك.
‫يمكنني استخدام الكلمة الرئيسية الجديدة.
‫إذن ما سيفعله ذلك هو أنه سيقول ببساطة ، حسنًا ، تفاصيل العرض هذه لها الأولوية على تفاصيل عرض
‫السيارة.
‫لذلك لا يتعدى الأمر ، لكنه يعيد ترتيب أولوياته.
‫فكيف أصور الآن؟
‫إظهار طريقة العرض هذه بالتفصيل أو استخدام طريقة العرض هذه؟
‫حسنًا ، لنصنع سيارة BMW pmwz3 جديدة ، والتي ستكون سيارة BMW جديدة بقوة 200 حصان.
‫لنجعلها سوداء.
‫ومن ثم نموذج az3.
‫ثم دعونا أيضًا نصنع Audi ، Audi a three.
‫ستكون أودي جديدة بقوة 100 حصان.
‫وهذا لونه أخضر.
‫لون غريب جدا لسيارة.
‫ثم لديك نموذج ثلاثي هنا.
‫الآن ، دعنا ندير BMW ونعرض طريقة التفاصيل هنا.
‫ونفس الشيء بالنسبة لأودي.
‫أودي.
‫ثلاثة لإظهار التفاصيل.
‫لذلك دعونا فقط ندير ذلك.
‫وترى HP 200 ، لونها أسود HP 100 لونها أخضر.
‫لذا ، كما ترى ، فهي تستدعي طريقة عرض تفاصيل السيارة ولا تستدعي طريقة BMW.
‫وذلك لأننا صنعناها كسيارة ، لكنها سيارة BMW جديدة كسيارة.
‫لذا ، إذا فعلنا نفس الشيء الآن ، فلنبدأ في إنشاء سيارة BMW MX 5 ، والتي
‫لن تكون سيارة ، لكنها هذه المرة سيارة BMW جديدة من طراز B و M W وهذه ، لنقل ، لديها 330 حصانًا.
‫إنه أبيض وهو MX خمسة.
‫لذا ، إذا أطلقت الآن على طريقة عرض تفاصيل B M W MX المكونة من خمس نقاط ، فستظهر لي العلامة التجارية أيضًا
‫حتى نضع علامة تجارية BMW ، HP 330 باللون الأبيض.
‫والأول.
‫لذلك هؤلاء هنا.
‫كان عليهم أيضًا إظهار طريقة مفصلة ، لكنهم استخدموا واحدة من السيارة والآن تستخدم
‫BMW واحدة من BMW.
‫لذلك على الرغم من أننا قلنا BMW الجديدة ، ما زلنا نستخدم فئة السيارة من أجل إنشاء كائن سيارة من ذلك
‫الذي هو BMW داخليًا ، لكننا نطلق على أساليب السيارات وليس أساليب BMW فقط إذا مضينا قدمًا وقمنا بإنشائها
‫على أنها BMW نسميها الطريقة الجديدة.
‫إذن هذا الجديد هنا ، يقول ببساطة ، حسنًا ، إذا قمت بإنشاء كائن لي ، فتابع واكتبه على أنه
‫جديد.
‫إذا لم تقم بذلك ، فاستمر في استخدام طريقة السيارات أو فئة السيارة مع الفئة الأساسية إلى
‫حد كبير.
‫ولكن ماذا لو أردت استدعاء طريقة إظهار التفاصيل الخاصة بفئتي الأساسية على جسم BMW الخاص بي؟
‫ثم يمكنني القيام بما يلي.
‫يمكنني المضي قدمًا وإنشاء سيارة سأطلق عليها اسم السيارة B ، وستكون BMW m خمسة.
‫لكنها ستكون كذلك.
‫سيارة.
‫لذلك أنا هنا أستخدم الصب حتى أقوم بإدخال BMW في سيارة والآن يمكنني المضي قدمًا واستخدام
‫تفاصيل السيارة b dot show الخاصة بي BMW MX الخمسة.
‫أو من سيارتي حتى نكون مرة أخرى hpp 330 لونًا أبيض.
‫هذه هي سيارة BMW m خمسة هنا.
‫فلماذا حتى تستخدم هذا الأسلوب في إخفاء واستخدام هذه الكلمة الرئيسية الجديدة هنا على أعضائك؟
‫حسنًا ، يمكنك استخدام ذلك إذا كنت تريد أن يكون للعضو المشتق نفس الاسم
‫كعضو في فئة أساسية ، لكنك لا تريده للمشاركة في استدعاء افتراضي.
‫هذا عندما تستخدم هذه الكلمة الرئيسية الجديدة التي رأيناها هنا.
‫خلاف ذلك ، إذا كنت ترغب في تجاوزها ، يمكنك ببساطة استخدام نهج التجاوز هذا هنا أو استخدام الكلمة
‫الأساسية للتجاوز هذه في إعلانك عن الطريقة.
‫حسنا.
‫هذا شيء أو تعدد الأشكال.
‫في الفيديو التالي ، سوف نتحقق من كيفية منع ذلك.
‫لذلك إذا كنت لا تريد أن يتم تجاوز هذه الطريقة على الإطلاق.
‫هناك طريقة للقيام بذلك في صنفنا الأساسي.
‫لذلك نراكم في الفيديو التالي.