Après avoir utilisé un logiciel de traitement d'image pour traiter les images, vous devez sélectionner un format à enregistrer. Cependant, les algorithmes mis en œuvre par divers formats au niveau sous-jacent ne sont pas les mêmes, ce qui correspond simplement au modèle de stratégie. Écrivez un programme qui montre comment se développer en utilisant une combinaison de modèles de politique et de modèles d'usine simples.
L'idée est la suivante:
1. Utilisez l'interface pour définir une interface et définissez la méthode Save () dans l'interface;
2. Définissez différentes classes en fonction du format d'image et utilisez le mot-clé implémente pour implémenter l'interface dans ces classes;
3. Créer une classe qui implémente la sélection, définit la méthode qui implémente la sélection dans cette classe, et la valeur de retour de la méthode est la classe de sauvegarde d'image correspondante;
4. Implémentez l'interface dans la méthode principale.
Le code est le suivant:
La copie de code est la suivante:
Interface publique ImageSaver {
void Save (); // Define Save () Méthode
}
classe publique Gifsaver implémente ImageSaver {
@Outrepasser
public void Save () {// implémenter la méthode Save ()
System.out.println ("Enregistrer l'image au format GIF");
}
}
classe publique Jpegsaver implémente ImageSaver {
@Outrepasser
public void save () {
System.out.println ("Enregistrer l'image au format JPG");
}
}
La classe publique Pngsaver implémente ImagesAver {
@Outrepasser
public void save () {
System.out.println ("Enregistrer l'image au format PNG");
}
}
classe publique TypeChooser {
Images statiques publics GetSaver (type de chaîne) {
if (type.equalsignorecase ("gif")) {// Utilisez l'instruction if else pour déterminer le type de l'image
Retourne New Gifsaver ();
} else if (type.equalsignorecase ("jpeg")) {
retourner new jpegsaver ();
} else if (type.equalsignorecase ("png")) {
retourner new pngsaver ();
} autre {
retourner null;
}
}
}
classe publique User {
public static void main (String [] args) {
System.out.print ("L'utilisateur a sélectionné le format GIF:");
ImageSaver Saver = TypeCHoOser.getsaver ("GIF"); // Obtenez l'objet qui enregistre l'image comme type GIF
Saver.Save ();
System.out.print ("Le format JPEG sélectionné par l'utilisateur:"); // Obtenez l'image enregistrée comme objet de type jpeg
Saver = TypeChoOSer.getsaver ("JPEG");
Saver.Save ();
System.out.print ("Le format PNG sélectionné par l'utilisateur:"); // Obtenez l'objet qui enregistre l'image sous forme de type PNG
Saver = TypeChoOSer.getsaver ("png");
Saver.Save ();
}
}
L'effet est montré dans l'image: