アイデアは次のとおりです。
インターフェイスを使用してインターフェイスを定義し、そのインターフェイスでsave()メソッドを定義します。
画像形式に従ってさまざまなクラスを定義し、キーワード用具を使用してこれらのクラスにインターフェイスを実装します。
選択を実装し、このクラスで選択を実装する方法を定義するクラスを作成します。メソッドの返品値は、対応する画像保存クラスです。
メインメソッドにインターフェイスを実装します。
コードは次のとおりです。
コードコピーは次のとおりです。
パブリックインターフェイス画像aver {
void save(); // save()メソッドを定義します
}
パブリッククラスのgifsaverは画像を実装しています{
@オーバーライド
public void save(){// save()メソッドを実装します
System.out.println( "写真をGIF形式で保存");
}
}
パブリッククラスjpegsaverは画像を実装しています{
@オーバーライド
public void save(){
system.out.println( "jpg形式で画像を保存");
}
}
パブリッククラスのpngsaverは画像を実装します{
@オーバーライド
public void save(){
system.out.println( "PTION PNG形式で画像を保存");
}
}
パブリッククラスのTypeChooser {
public static imagesaver getsaver(string type){
if(type.equalsignorecase( "gif")){// if elseステートメントを使用して画像のタイプを決定する
new gifsaver()を返します。
} else if(type.equalsignorecase( "jpeg")){
新しいjpegsaver()を返します。
} else if(type.equalsignorecase( "png")){
新しいpngsaver()を返します。
} それ以外 {
nullを返します。
}
}
}
パブリッククラスユーザー{
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();
}
}