أنا بتابع فى هذه الدورة c#
فى الدرس 24
شرح الفرق بين new و override
وتم الإعلان عن الكائن بعد new
فهمت new و override جيدا ولكن...
بكتابة اسم الكائن الذى يرثه
فما معنى ذلك ؟
المشكلة أنى لا أفهم طريقة التعريف هذه
لو أردته كان من child
فلماذا أقوم بتعريفه من الأساس من parent
أكيد فى فرق فأنا عاوز أعرف الفرق عشان أفهم السبب
parent pr = new parent();
parent pr_ch = new child1();
child1 ch = new child1();
ده البرنامج اللى انا بسأل عنه
التعليقات
المشكلة أنى لا أفهم طريقة التعريف هذه
لو أردته كان من child
فلماذا أقوم بتعريفه من الأساس من parent
أكيد فى فرق فأنا عاوز أعرف الفرق عشان أفهم السبب
هذا احد استخدامات ال Polymorphism
لنفرض مثلاً لديك ميثود تقوم بتنفيذ دالة معينة مشتركة بين اكثر من child .. وتريد ان تكتب نسخة واحدة من هذه الدالة, ولا تريد ان تكتب نسخة لكل child !
فنقوم بعمل Parent يحتوي على هذه الميثود, ونقوم بتوريثها الى كل ال child ويستطيع ال child تغيير محتوى هذه الميثود وطريقة عملها عن طريق ال Override.
مثال1 :
نسطيع الان كتابة ميثود واحدة تستقبل كل من child1 و child2 و اي شيئ يرث من Parent وتقوم بطباعة ال msg الخاصة به
مثال2 :
أظن أن ما أراد أن يفهمه الأخ و ما لم أفهمه أنا أيضا هو لماذا استعملنا
parent pr_ch = new child1();
رغم أنه كان بإمكاننا استعمال هذه child1 pr_ch = new child1();
اذا استعملت
child1 pr_ch = new child1();
اخي شرحت هذا الموضوع في الرد .. لكن اسف جداً من الصعب شرح الموضوع وجهاً لوجه, فما بالك من خلال التعليقات :(
لكن لا تهتم بهذه الامور كثيراً واصلاً لن تستعملها في بداياتك, لكن عندما تبدأ تغوص وتطور مشاريع كتبها غيرك ستفهم كل شيئ, الان فقط يجب ان تعلم ان هذا الامر موجود وكفى.