ملخص سريع للفرق بين overloading والoverriding : • overloading إنه يكون فيه أكتر من method أو constructor داخل الclass بنفس الاسم مع اختلاف الparameters (إلزامي في الاثنين) سواءً نوعهم أو ترتيبهم ، و"يمكن" اختلاف نوع القيمة المرجعة (اختياري في الmethods) • overriding إعادة صياغة الابن لمحتوى "process" في method عند الأب "مع الالتزام بنفس الsignature" ( نوع القيمة المرجعة ، parameters ، name ) ملاحظة : قيام الابن بعمل override لmethod عند الأب هذا يجعلها method مختلفة عن الmethod التي عند الأب وذلك لاختلاف المحتوى والعمليات فيهما ، وإن تشابهتا ظاهرياً بنفس الهيكلية ، لذلك إن أراد الابن استخدام محتوى method الأب يستعمل في استدعائها super() وإن أراد استخدام محتوى الmethod لديه يستدعيها باستخدام this() أتمنى أنني أصبت في فهمها وتلخيصها 😅 يعطيك العافية بشمهندس