Cet article décrit l'utilisation du mode prototype pour Java pour montrer la vie quotidienne. Partagez-le pour votre référence, comme suit:
1. Définition du modèle
Spécifiez le type d'objets à créer avec des instances de prototype et créez de nouveaux objets en copiant ces prototypes.
2. Exemples du modèle
1 analyse de modèle
Nous utilisons la situation de travail quotidienne pour illustrer ce modèle.
2 scénario du scénario
3 Modélisation statique du mode prototype
4 exemples de code
4.1 Création du prototype
package com.prototype.pojo; / ** * Classe de vie quotidienne * * @Author * * / public class daylife implémente clonable {// construction de la méthode public daylife () {System.out.println ("- la méthode de construction est exécutée! -"); } // Get Up Private String Teup; // Prenez les bybus de chaîne privée de bus; // Descendez et achetez le petit-déjeuner privé String Getfood; // faire une sieste à midi; // commence à travailler dans l'après-midi une chaîne privée après-midi; // rentrer chez vous après avoir le travail de travail de chaîne privée Gohome; // Nuit de loisirs de la nuit privée; public String getGetup () {return getUp; } public void setGetup (string getUp) {this.getup = getUp; } public String GetByBus () {return bybus; } public void setByBus (String bybus) {this.bybus = bybus; } public String getGetFood () {return getFood; } public void setGetFood (String getFood) {this.getFood = getFood; } public String getnoon () {return midi; } public void setnoon (String noon) {this.noon = midi; } public String getAfternoonwork () {return Afternovinework; } public void setAfternoonwork (String Afternoonwork) {this.afternoonwork = après-midi; } public String getGoHome () {return GoHome; } public void setGoHome (String GoHome) {this.gome = gohome; } public String getnight () {return night; } public void setnight (String Night) {this.night = nuit; } / ** * Imprimer les informations de la vie quotidienne * / public void print () {System.out.println (this.getGettup ()); System.out.println (this.getByBus ()); System.out.println (this.getGetFood ()); System.out.println (this.getNoon ()); System.out.println (this.getAfterNoonWork ()); System.out.println (this.getGoHome ()); System.out.println (this.getnight ()); } / ** * Méthode du clone * / @Override public Daylife clone () {try {// Appelez la méthode du clone de la superclasse (superclasse? Aucune classe n'est intégrée? D'où vient la superclasse? } catch (exception e) {} return null; }}4.2 Créer une usine abstraite qui génère des objets prototypes
package com.prototype.factory; import com.prototype.pojo.daylife; / ** * classe d'usine * * @author * * / interface publique iLifeFactory {/ ** * Production DayLife Object * * @return * / public DayLife GetNewInstance ();}4.3 Créez une usine spécifique pour générer des objets prototypes
package com.prototype.factory.impl; import com.prototype.factory.ilifefactory; import com.prototype.pojo.daylife; / ** * Classe d'implémentation d'usine * * @author * * / public lifefactoryImpt implémente iLifeFactory {// daylife instance est utilisé pour initialiser privé Stifice DayLife DayLife = null; / ** * Implémentation de la méthode GetNewinstance: * * Déterminez d'abord si la vie de jour est nul: * Si elle est nul, utilisez nouveau pour créer un objet de vie, définissez le contenu initial, puis attribuez-le à l'instance d'objet Day Vie, puis retournez; * S'il n'est pas nul, utilisez la méthode de clone de Daylift pour générer un nouvel objet et le copier dans l'objet Daylife, puis renvoyer * / @Override public Daylife getNewInstance () {// déterminer si la vie de jour est null if (daylife == null) {// si null // La sortie est un objet généré en utilisant nouveau. Remarque: utilisez ce nouveau une seule fois! System.out.println ("New Daylife!"); // Définissez le contenu de Daylife Daylife = New Daylife (); DayLife.SetGettup ("Get Get Up à 7h00"); daylife.setbybus ("prendre du bus à 7h30"); DayLife.SetGetFood ("GetGetGet Descendez à l'arrêt de bus près de l'entreprise à 8h30, et lorsque vous passez la voiture de petit-déjeuner à côté de la route, vous achèterez le petit-déjeuner et l'emmenez dans l'entreprise ensemble"); Daylife.SetNoon ("Le déjeuner est résolu dans un petit restaurant près de l'entreprise, puis faites une sieste dans le siège du bureau"); DayLife.SetAfternoonWork ("13:30 a commencé le travail de l'après-midi"); daylife.setgohome ("17:30 a déposé le travail à l'heure"); DayLife.Setnight ("Evening Entertainment"); } else {// Si ce n'est pas null // La sortie est un objet généré à l'aide de la méthode Clone System.out.println ("Clone Daylife!"); // Attribuez l'objet Clone à Daylife et Return Daylife = DayLife.Clone (); } Retour Daylife; }}4.4 Affichage du scénario de travail quotidien
package com; import com.prototype.factory.ilifefactory; import com.prototype.factory.impl.lifefactoryimpl; import com.prototype.pojo.daylife; / ** * application principale * * @Author * * / public class Client {public static void main (string [] args) {// créer une facture iLifefactory. LifeFactoryImpl (); // Imprimez le contenu par défaut de la vie par défaut LifeFactory.getNewInstance (). Print (); // Obtenez à nouveau la vie de jour, modifiez le contenu de la fournasse et le contenu de sortie System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- DayLife2.SetGettup ("Je suis resté au lit le matin! Je me suis levé jusqu'à 7 :: 30!");Résultats en cours d'exécution
Nouvelle-vie!
- La méthode de construction a été exécutée! -
Se lever à 7h00
Prenez le bus à 7h30
Descendez à l'arrêt de bus près de l'entreprise à 8h30. Lorsque vous passez par la voiture de petit-déjeuner à côté de la route, vous achèterez le petit déjeuner et l'emmener à l'entreprise pour le déjeuner. Ensuite, faites une sieste dans le siège du bureau.
Le travail de l'après-midi a commencé à 13h30
Sortez du travail à l'heure à 17h30 et amusez-vous la nuit
----------------------------
Clone Daylife!
Restez au lit le matin! 7 :: 15 avant de se lever!
Prenez le bus à 7h30
Descendez à l'arrêt de bus près de l'entreprise à 8h30. Lorsque vous passez par la voiture de petit-déjeuner à côté de la route, vous achèterez le petit déjeuner et l'emmener à l'entreprise pour le déjeuner. Ensuite, faites une sieste dans le siège du bureau.
Le travail de l'après-midi a commencé à 13h30
Sortez du travail à l'heure à 17h30 et amusez-vous la nuit
3. La conception originale de ce modèle
1 La méthode du constructeur de l'objet n'est pas exécutée lors du clonage d'un objet
2 copie superficielle et copie profonde
4. Utiliser des occasions
1 Le processus de génération d'un homologue est relativement compliqué et l'initialisation nécessite de nombreuses ressources.
2 Lorsque vous voulez que le prototype de framework et l'objet généré soient séparés
3 Lorsque le même objet peut être accessible par d'autres appelants en même temps
Pour plus d'informations sur les algorithmes Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Structure de données Java et tutoriel d'algorithme", "Résumé des conseils de nœud de Dom Operation Java", "Résumé du fichier Java et des conseils d'opération de répertoire" et "Résumé des conseils d'opération Java Cache"
J'espère que cet article sera utile à la programmation Java de tous.