انسخ رمز الكود كما يلي:
اختبار الطبقة العامة 4 {
@امتحان
اختبار الفراغ العام (){
طفل طفل = طفل جديد ()؛
}
}
والد الصف {
public static StringparentStaticField = "متغير ثابت للفئة الأصلية";
public StringparentNormalField = "المتغير العادي للفئة الأصلية";
ثابت {
System.out.println(parentStaticField);
System.out.println("كتلة ثابتة للفئة الأصلية");
}
{
System.out.println(parentNormalField);
System.out.println("كتلة عادية للفئة الأصلية");
}
الوالد العام (){
System.out.println("منشئ الفئة الأصلية");
}
}
يمتد طفل الفصل إلى الوالدين {
public static String ChildStaticField = "متغير ثابت للفئة الفرعية";
public String ChildNormalField = "المتغير العادي للفئة الفرعية";
ثابت {
System.out.println(childStaticField);
System.out.println("كتلة ثابتة للفئة الفرعية");
}
{
System.out.println(childNormalField);
System.out.println("كتلة عادية من الفئة الفرعية");
}
الطفل العام (){
System.out.println("منشئ فئة فرعية");
}
}
الإخراج:
انسخ رمز الكود كما يلي:
المتغير الثابت للفئة الأصل
كتلة ثابتة من الفئة الأم
المتغيرات الثابتة فئة فرعية
كتلة ثابتة فئة فرعية
المتغير العادي للفئة الأم
كتلة عادية من فئة الوالدين
منشئ فئة الوالدين
المتغيرات العادية فئة فرعية
كتلة عادية من الفئة الفرعية
منشئ فئة فرعية
عملية التنفيذ:
1. عند تنفيذ طفل جديد، يبحث المُحمل عن رمز الفئة الفرعية المترجمة (أي ملف Child.class). أثناء عملية التحميل، يلاحظ المُحمل أن لديه فئة أساسية، لذلك يقوم بتحميل الفئة الأساسية مرة أخرى. ستحدث هذه العملية دائمًا سواء قمت بإنشاء كائن فئة أساسية أم لا. إذا كانت الفئة الأساسية تحتوي على فئة أساسية أخرى، فسيتم أيضًا تحميل الفئة الأساسية الثانية، وهكذا.
2. قم بإجراء التهيئة الثابتة للفئة الأساسية الجذرية، ثم التهيئة الثابتة للفئة المشتقة التالية، وما إلى ذلك. هذا الترتيب مهم جدًا، لأن "التهيئة الثابتة" للفئة المشتقة قد تعتمد على التهيئة الصحيحة لأعضاء الفئة الأساسية.
3. عند تحميل كافة الفئات الضرورية، قم بإنشاء كائن فئة فرعية.
4. إذا كانت الفئة الفرعية تحتوي على فئة أصلية، فسيتم استدعاء مُنشئ الفئة الأصلية، ويمكنك استخدام super لتحديد المُنشئ الذي تريد الاتصال به.
عملية البناء وتسلسل البناء للفئة الأساسية هي نفس تلك الخاصة بالفئة المشتقة. أولاً، تتم تهيئة كل متغير في الفئة الأساسية بترتيب حرفي، ثم يتم تنفيذ بقية مُنشئ الفئة الأساسية.
5. قم بتهيئة بيانات عضو الفئة الفرعية بالترتيب الذي تم الإعلان عنه به، ثم قم بتنفيذ بقية مُنشئ الفئة الفرعية.