Untuk setiap gambar geometris, ada beberapa sifat umum, seperti nama, area, dll., Tetapi metode penghitungan area berbeda. Untuk menyederhanakan pengembangan, tulis program yang mendefinisikan superclass untuk mengimplementasikan metode memasukkan nama, dan menggunakan metode abstrak untuk menghitung area tersebut.
Analisis Ide:
Yang disebut superclass adalah kelas induk abstrak. Untuk mendapatkan nama gambar, itu dapat dicapai melalui metode getClass (). GetSImplename () dari kelas; Metode abstrak.
Tentukan subkelas untuk mewakili lingkaran, jari -jari lingkaran diperoleh dengan membangun metode, dan area lingkaran diperoleh dengan menulis ulang metode abstrak di superclass, di mana pi dapat diwakili oleh math.pi.
Lainnya mirip dengan langkah 2. Parameter seperti jari -jari, panjang, dan lebar diperoleh melalui metode konstruksi, yang akan menghemat masalah.
Kodenya adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
Bentuk kelas abstrak publik {
Public String getName () {// Dapatkan nama grafik
kembalikan this.getClass (). getsImplename ();
}
Publik abstrak ganda ganda (); // Dapatkan area gambar tersebut
}
Lingkaran kelas publik memperluas bentuk {
Radius ganda pribadi;
lingkaran publik (jari -jari ganda) {// Dapatkan jari -jari lingkaran
this.radius = radius;
}
@Mengesampingkan
getarea ganda publik () {// Hitung area lingkaran
return math.pi * Math.pow (Radius, 2);
}
}
Kelas Publik Persegi Panjang Memperluas Bentuk {
Panjang ganda pribadi;
lebar ganda pribadi;
persegi panjang publik (panjang ganda, lebar ganda) {// Dapatkan panjang dan lebar persegi panjang
this.length = panjang;
this.width = lebar;
}
@Mengesampingkan
getarea ganda publik () {// Hitung area persegi panjang
panjang pengembalian * lebar;
}
}
tes kelas publik {
public static void main (string [] args) {
Lingkaran lingkaran = lingkaran baru (1); // Buat objek melingkar dan atur jari -jari ke 1
System.out.println ("Nama grafik adalah:" + circle.getName ());
System.out.println ("Area gambar adalah:" + Circle.getarea ());
Persegi panjang persegi panjang = persegi panjang baru (1, 1); // Buat objek persegi panjang dan setel panjang dan lebar ke 1
System.out.println ("Nama grafik adalah:" + rectangle.getName ());
System.out.println ("Area gambar adalah:" + rectangle.getarea ());
}
}
Efeknya ditunjukkan pada gambar: