Идея заключается в следующем:
Используйте интерфейс, чтобы определить интерфейс и определить метод сохранения () в этом интерфейсе;
Определите разные классы в соответствии с форматом изображения и используйте ключевые слова для реализации интерфейса в этих классах;
Создать класс, который реализует выбор, определяет метод, который реализует выбор в этом классе, а возвращающим значением метода является соответствующий класс сохранения изображения;
Реализуйте интерфейс в основном методе.
Код заключается в следующем:
Кода -копия выглядит следующим образом:
публичный интерфейс Imagesaver {
void save (); // определить метод сохранения ()
}
открытый класс GIFSAVER реализует ImageSaver {
@Override
public void Said () {// реализовать метод () метод
System.out.println («Сохраните изображение в формате GIF»);
}
}
открытый класс JPegSaver реализует ImageSaver {
@Override
public void save () {
System.out.println («Сохраните изображение в формате JPG»);
}
}
открытый класс PngSaver реализует ImageSaver {
@Override
public void save () {
System.out.println («Сохраните изображение в формате PNG»);
}
}
публичный класс Typechooser {
Public Static ImagesAver Getsaver (String Type) {
if (type.equalsignorecase ("gif")) {// Используйте оператор if else, чтобы определить тип изображения
вернуть новый Gifsaver ();
} else if (type.equalsignorecase ("jpeg")) {
вернуть новый jpegsaver ();
} else if (type.equalsignorecase ("png")) {
вернуть новый pngsaver ();
} еще {
вернуть ноль;
}
}
}
Пользователь открытого класса {
public static void main (string [] args) {
System.out.print («Пользователь выбрал формат GIF:»);
Imagesaver Saver = typechooser.getSaver ("GIF"); // Получить объект, который сохраняет изображение как тип GIF
saver.save ();
System.out.print («Пользователь выбрал формат JPEG:»); // Получить сохраненное изображение в качестве объекта типа JPEG
saver = typechooser.getSaver ("jpeg");
saver.save ();
System.out.print («Пользователь выбрал формат PNG:»); // Получить объект, который сохраняет изображение как тип PNG
saver = typechooser.getSaver ("png");
saver.save ();
}
}