public interface ImageSaver { void save();//定義save()方法 }
public class GIFSaver implements ImageSaver { @Override public void save() {//實現save()方法 System.out.println("將圖片保存成GIF格式"); } }
public class JPEGSaver implements ImageSaver {
@Override public void save() { System.out.println("將圖片保存成JPG格式"); } }
public class PNGSaver implements ImageSaver {
@Override public void save() { System.out.println("將圖片保存成PNG格式"); }
}
public class TypeChooser { public static ImageSaver getSaver(String type) { if (type.equalsIgnoreCase("GIF")) {//使用if else語句來判斷圖片的類型 return new GIFSaver(); } else if (type.equalsIgnoreCase("JPEG")) { return new JPEGSaver(); } else if (type.equalsIgnoreCase("PNG")) { return new PNGSaver(); } else { return null; } } }
public class User { 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(); } }