Javaأمثلة حول وجود أكثر من كونستركتور في الـسوبر كلاس في جافا
الآن سنقوم بتقسيم الأمثلة حسب الحالة التي قد نصادفها.
الحالة الأولى
في حال كان الـ Superclass يملك 2 كونستركتور, الأول لا يحتوي أي باراميترات و الثاني يحتوي باراميترات.
هنا يمكنك عدم تعريف كونستركتور في الـ Subclass, أو تعريف واحد فارغ لكي يستدعي الكونستركتور الإفتراضي الموجود في الـ Subclass.
في هذا المثال قمنا بتعريف كلاس إسمه A يحتوي على متغيرين x و y بالإضافة إلى 2 كونستركتور, الأول لا يقبل أي باراميتر و مهمته بتوليد قيم لهما فقط و الثاني مهمته يتيح لك تمرير قيم للمتغيرات x و y مباشرةً عند إنشاء كائن.
بعدها قمنا بإنشاء كلاس إسمه B يرث من الكلاس A.
بعدها سنقوم بإنشاء الكلاس Main لتجربة الكود.
المثال الأول
سنحصل على النتيجة التالية عند التشغيل.
الحالة الثانية
في حال كان الـ Superclass يملك كونستركتور أو أكثر, لكنه لا يملك كونستركتور لا يحتوي باراميترات.
هنا أنت مجبر على تعريف كونستركتور في الـ Subclass, يستدعي أي كونستركتور من الـ constructors الموجودين في الـ Superclass.
ملاحظة: عدد الباراميترات التي تضعها في كونستركتور الـ Subclass غير مهم حتى يعمل الكود بشكل سليم. المهم هنا استدعاء أي كونستركتور موجود في الـ Superclass بداخل أي كونستركتور ستقوم بتعريفه في الـ Subclass.
في هذا المثال قمنا بتعريف كلاس إسمه A يحتوي على متغيرين x و y بالإضافة إلى 2 كونستركتور, الأول لا يقبل أي باراميتر و مهمته بتوليد قيم لهما فقط و الثاني مهمته يتيح لك تمرير قيم للمتغيرات x و y مباشرةً عند إنشاء كائن.
بعدها قمنا بإنشاء كلاس إسمه B يرث من الكلاس A.
بعدها سنقوم بإنشاء الكلاس Main لتجربة الكود.
المثال الثاني
سنحصل على النتيجة التالية عند التشغيل.