Dieser Artikel beschreibt die Verwendung des Prototypenmodus, damit Java das tägliche Leben zeigt. Teilen Sie es für Ihre Referenz wie folgt weiter:
1. Musterdefinition
Geben Sie die Art der Objekte an, die mit Prototyp -Instanzen erstellt werden soll, und erstellen Sie neue Objekte, indem Sie diese Prototypen kopieren.
2. Beispiele des Modells
1 Musteranalyse
Wir verwenden die tägliche Arbeitssituation, um dieses Modell zu veranschaulichen.
2 Storyline Analysis Diagramm
3 Prototypenmodus statische Modellierung
4 Code Beispiele
4.1 Prototyperstellung
Paket com.prototype.pojo;/** * tägliche Lebensklasse * * @Author * */public class Daylife implementiert klonbares {// construct-Methode public DayLife () {System.out.println ("-Die Baumethode wird ausgeführt!-"); } // Steh auf private String -Getup; // Nehmen Sie den Bus private String bybus; // Strecken Sie aus und kaufen Sie Frühstück Private String GetFood; // Machen Sie mittags ein Nickerchen; // Arbeit am Nachmittag Private String Nachmittagsarbeit beginnen; // Geh nach Hause von der Arbeit privat String Gohome; // Nacht Freizeit private Saitenabend; 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 Noon; } public void setNoon (String Noon) {this.noon = noon; } public String GetAfteroonwork () {Rückkehr Nachmittagswork; } public void setafteronwork (String Nachmittagswork) {this.afteronwork = Nachmittagsarbeit; } public String getgoHome () {return Gohome; } public void SetGoHome (String Gohome) {this.gohome = gohome; } public String GetNight () {return night; } public void setnight (String night) {this.night = night; } / *** Tägliches Lebensinformationen ausdrucken* / public void print () {System.out.println (this.getGetup ()); System.out.println (this.getByBus ()); System.out.println (this.getGetfood ()); System.out.println (this.getNoon ()); System.out.println (this.getafteronwork ()); System.out.println (this.getGoHome ()); System.out.println (this.getnight ()); } / *** Clone -Methode* / @Override public DayLife Clone () {try {// Rufen Sie die Klonmethode der Superklasse an (Superklasse? Keine Klasse ist integriert? Woher kommt die Superklasse? Vergessen Sie nicht, alle Klassen sind Unterklassen des Objekts!) Return (DayLife) Super.clone (); } catch (Ausnahme e) {} return null; }}4.2 Erstellen Sie eine abstrakte Fabrik, die Prototypobjekte erzeugt
Paket com.prototype.factory; import com.prototype.pojo.dayLife;/** * FACTORY CLASS * * @AUTHOR * */public interface ilifefactory {/** * Produktion Daylife -Objekt * @return */Public Daylife GetNewinstance ();}4.3 Erstellen Sie eine bestimmte Fabrik zum Generieren von Prototypobjekten
Paket com.prototype.factory.impl; importieren com.prototype.factory.ilifefactory; importieren /** * GetNewinStance -Methode Implementierung: * * Bestimmen Sie zuerst, ob DayLife null ist: * Wenn es null ist, verwenden Sie neu, um ein Daylife -Objekt zu erstellen, den anfänglichen Inhalt festzulegen, ihn dann der DayLife -Objektinstanz zuweisen und dann zurückkehren. * Wenn es sich nicht um Null handelt, verwenden Sie die Klonmethode von DayLift, um ein neues Objekt zu generieren und in das DayLife -Objekt zu kopieren. Hinweis: Verwenden Sie dies nur einmal! System.out.println ("New Daylife!"); // den Inhalt von Daylife DayLife = New DayLife () festlegen; DayLife.SetGetup ("Steh um 7:00 Uhr auf"); DayLife.SetByBus ("Nehmen Sie den Bus um 7:30 Uhr"); DayLife.SetGetFood ("Getgetget steigen Sie um 8:30 Uhr an der Bushaltestelle in der Nähe des Unternehmens aus, und wenn Sie das Frühstücksauto neben der Straße vorbeifahren, kaufen Sie Frühstück und bringen es zusammen zum Unternehmen"); DayLife.SetNoon ("Das Mittagessen wird in einem kleinen Restaurant in der Nähe des Unternehmens gelöst und dann ein Nickerchen auf dem Bürositz machen"); DayLife.Setafternoonwork ("13:30 Uhr am Nachmittag begonnen"); DayLife.SetGoHome ("17:30 Uhr pünktlich von der Arbeit gekommen"); DayLife.Set Night ("Abendunterhaltung"); } else {// Wenn nicht null // Die Ausgabe ist ein Objekt, das mit der Clone -Methode system.out.println ("Clone Daylife!") generiert wird. // das Klonobjekt dem Daylife und tagelife = taylife.clone () zuweisen; } Return Daylife; }}4.4 Tägliches Arbeitsszenario Display
package com;import com.prototype.factory.ILifeFactory;import com.prototype.factory.impl.LifeFactoryImpl;import com.prototype.pojo.DayLife;/** * Main application* * @author * */public class Client { public static void main(String[] args) { // Create factory ILifeFactory lifeFactory = new LifeFactoryImpl (); // Ausdruck von DayLife Standard Content LifeFactory.getNewinStance (). Print (); // Daylife erneut holen, Getup -Inhalte ändern und Inhalte ausgeben System.out.println ("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- DayLife2.SetGetup ("Ich bin morgens im Bett geblieben! Ich bin bis 7 :: 30!")Auslaufergebnisse
Neues Tagesleben!
- Die Baumethode wurde ausgeführt! -
Steh um 7:00 Uhr auf
Nehmen Sie den Bus um 7:30 Uhr
Steigen Sie um 8:30 Uhr an der Bushaltestelle in der Nähe der Firma aus. Wenn Sie am Frühstücksauto neben der Straße vorbeikommen, kaufen Sie Frühstück und bringen es zum Mittagessen zur Firma. Machen Sie dann ein Nickerchen auf dem Bürositz.
Die Nachmittagsarbeit begann um 13:30 Uhr
Holen Sie sich pünktlich um 17:30 Uhr von der Arbeit und haben Sie nachts Spaß
----------------------------
Klontagesleben!
Bleiben Sie morgens im Bett! 7 :: 15 Bevor ich aufstehe!
Nehmen Sie den Bus um 7:30 Uhr
Steigen Sie um 8:30 Uhr an der Bushaltestelle in der Nähe der Firma aus. Wenn Sie am Frühstücksauto neben der Straße vorbeikommen, kaufen Sie Frühstück und bringen es zum Mittagessen zur Firma. Machen Sie dann ein Nickerchen auf dem Bürositz.
Die Nachmittagsarbeit begann um 13:30 Uhr
Holen Sie sich pünktlich um 17:30 Uhr von der Arbeit und haben Sie nachts Spaß
3. Das ursprüngliche Design dieses Modells
1 Die Konstruktormethode des Objekts wird beim Klonen eines Objekts nicht ausgeführt
2 flache Kopie und tiefe Kopie
4. Verwenden Sie Anlässe
1 Der Prozess der Generierung eines Gegenstücks ist relativ kompliziert, und die Initialisierung erfordert viele Ressourcen.
2 Wenn der Framework -Prototyp und das erzeugte Objekt getrennt werden sollen
3 Wenn das gleiche Objekt gleichzeitig von anderen Anrufern zugegriffen werden kann
Für weitere Informationen zu Java -Algorithmen können Leser, die an dieser Website interessiert sind, die Themen "Java -Datenstruktur und Algorithmus -Tutorial", "Zusammenfassung der Java -Operation DOM -Knoten -Tipps", "Zusammenfassung der Java -Datei- und Verzeichnisoperationstipps" und "Zusammenfassung der Java -Cache -Operation Tipps" anzeigen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.