Idenya adalah sebagai berikut:
Gunakan antarmuka untuk mendefinisikan antarmuka, dan mendefinisikan metode save () dalam antarmuka itu;
Tentukan kelas yang berbeda sesuai dengan format gambar, dan gunakan implementasi kata kunci untuk mengimplementasikan antarmuka di kelas -kelas ini;
Buat kelas yang mengimplementasikan pemilihan, mendefinisikan metode yang mengimplementasikan pemilihan di kelas ini, dan nilai pengembalian metode ini adalah kelas penghematan gambar yang sesuai;
Menerapkan antarmuka dalam metode utama.
Kodenya adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
gambar antarmuka publik {
void save (); // define save () metode
}
GifSaver kelas publik mengimplementasikan ImagesAver {
@Mengesampingkan
Metode public void save () {// implement
System.out.println ("Simpan gambar dalam format gif");
}
}
JPEGSAVER kelas publik mengimplementasikan ImagesAver {
@Mengesampingkan
public void save () {
System.out.println ("Simpan gambar dalam format jpg");
}
}
PNGSaver kelas publik mengimplementasikan ImagesAver {
@Mengesampingkan
public void save () {
System.out.println ("Simpan gambar dalam format png");
}
}
Typechooser kelas publik {
Public Static ImagesAver Getver (tipe string) {
if (type.equalsignorecase ("gif")) {// Gunakan pernyataan if lain untuk menentukan jenis gambar
mengembalikan gifsaver baru ();
} lain jika (type.equalsignorecase ("jpeg")) {
mengembalikan JPEGSAVER baru ();
} lain jika (type.equalsignorecase ("png")) {
mengembalikan pngsaver baru ();
} kalau tidak {
kembali nol;
}
}
}
pengguna kelas publik {
public static void main (string [] args) {
System.out.print ("Pengguna memilih format GIF:");
ImagesAver saver = Typechooser.getSaver ("gif"); // Dapatkan objek yang menyimpan gambar sebagai tipe gif
saver.save ();
System.out.print ("Format JPEG yang dipilih pengguna:"); // Dapatkan gambar yang disimpan sebagai objek JPEG Type
saver = typechooser.getSaver ("jpeg");
saver.save ();
System.out.print ("Format PNG yang dipilih pengguna:"); // Dapatkan objek yang menyimpan gambar sebagai tipe PNG
saver = typechooser.getSaver ("png");
saver.save ();
}
}