A idéia é a seguinte:
Use a interface para definir uma interface e definir o método salv () nessa interface;
Defina diferentes classes de acordo com o formato da imagem e use os implementos de palavra -chave para implementar a interface nessas classes;
Crie uma classe que implemente a seleção, define o método que implementa a seleção nesta classe e o valor de retorno do método é a classe de economia de imagem correspondente;
Implementar a interface no método principal.
O código é o seguinte:
A cópia do código é a seguinte:
Public Interface Imagesaver {
void save (); // define save () método
}
classe pública GifSaver implementa o ImagesAver {
@Override
public void save () {// implem o método save ()
System.out.println ("Salve a imagem no formato gif");
}
}
classe pública jpegsaver implementa o ImagesAver {
@Override
public void save () {
System.out.println ("Salve a imagem no formato jpg");
}
}
classe pública pngsaver implementa o ImagesAver {
@Override
public void save () {
System.out.println ("Salve a imagem no formato PNG");
}
}
classe pública TypeChooser {
public static imagraver getsaver (tipo string) {
if (type.equalsignorecase ("gif")) {// use a instrução if else para determinar o tipo da imagem
retornar novo gifSaver ();
} else if (type.equalsignorecase ("jpeg")) {
devolver novo jpegSaver ();
} else if (type.equalsignorecase ("png")) {
retornar novo pngSaver ();
} outro {
retornar nulo;
}
}
}
Public Class User {
public static void main (string [] args) {
System.out.print ("O usuário selecionou o formato GIF:");
ImagesAver economs = TypeChooser.getSaver ("gif"); // Obtenha o objeto que salva a imagem como tipo GIF
Saver.Save ();
System.out.print ("O usuário selecionado JPEG Format:"); // Obtenha a imagem salva como objeto JPEG Type
Saver = TypeChooser.getSaver ("jpeg");
Saver.Save ();
System.out.print ("O usuário selecionou o formato PNG:"); // Obtenha o objeto que salva a imagem como tipo PNG
Saver = TypeChooser.getSaver ("png");
Saver.Save ();
}
}