لكل شخصية هندسية ، هناك بعض الخصائص الشائعة ، مثل الاسم والمنطقة ، وما إلى ذلك ، ولكن طرق حساب المنطقة مختلفة. لتبسيط التطوير ، اكتب برنامجًا يحدد طبقة فائقة لتنفيذ طريقة إدخال الاسم ، واستخدام طرق مجردة لحساب المنطقة.
تحليل الأفكار:
ما يسمى الفئة الفائقة هي فئة الوالدين المجردة. للحصول على اسم الشكل ، يمكن تحقيقه من خلال طريقة getClass (). طريقة تجريدية.
حدد الفئة الفرعية لتمثيل دائرة ، ويتم الحصول على نصف قطر الدائرة عن طريق بناء الطريقة ، ويتم الحصول على مساحة الدائرة عن طريق إعادة كتابة الطريقة المجردة في الطبقة الفائقة ، حيث يمكن تمثيل PI بواسطة Math.pi.
يشبه البعض الآخر الخطوة 2. يتم الحصول على المعلمات مثل نصف القطر والطول والعرض من خلال طريقة البناء ، مما سيوفر المتاعب.
الرمز كما يلي:
نسخة الكود كما يلي:
شكل فئة مجردة عامة {
السلسلة العامة getName () {// احصل على اسم الرسم البياني
إرجاع this.getClass (). getSimplename () ؛
}
مجردة عامة مزدوجة getarea () ؛ // احصل على مساحة الشكل
}
دائرة الفئة العامة تمتد الشكل {
دائرة نصف قطرها المزدوجة الخاصة ؛
الدائرة العامة (نصف قطر مزدوج) {// احصل على نصف قطر الدائرة
this.radius = نصف القطر ؛
}
@تجاوز
getarea المزدوجة العامة () {// احسب مساحة الدائرة
إرجاع Math.pi * Math.Pow (Radius ، 2) ؛
}
}
مستطيل الطبقة العامة يمتد الشكل {
طول مزدوج خاص ؛
عرض مزدوج خاص ؛
المستطيل العام (طول مزدوج ، عرض مزدوج) {// احصل على طول وعرض المستطيل
this.length = الطول ؛
this.width = العرض ؛
}
@تجاوز
getarea المزدوج العام () {// احسب مساحة المستطيل
عودة طول * العرض ؛
}
}
اختبار الفئة العامة {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
دائرة الدائرة = دائرة جديدة (1) ؛ // قم بإنشاء كائن دائري وضبط نصف القطر إلى 1
System.out.println ("اسم الرسم البياني هو:" + circle.getName ()) ؛
System.out.println ("منطقة الشكل هي:" + circle.getarea ()) ؛
مستطيل المستطيل = مستطيل جديد (1 ، 1) ؛ // قم بإنشاء كائن مستطيل وعرضه وعرضه على 1
System.out.println ("اسم الرسم البياني هو:" + rectangle.getName ()) ؛
System.out.println ("مساحة الشكل هي:" + rectangle.getarea ()) ؛
}
}
يظهر التأثير في الصورة: