[JAVA] Prototypmuster

Prototype Pattern Kopieren Sie die Instanz und verwenden Sie sie

Auf dieser Seite ・ Bestätigung des Prototypmusters

Design Pattarm MENU

Bestätigung des Prototypmusters

Überprüfen Sie mit der folgenden Klassenstruktur

Klasse Erläuterung
samPrototype.class Haben Sie eine Methode, um eine Kopie von sich selbst zu machen
user(Main.class) Überprüfen Sie den Betrieb

Implementieren Sie die Schnittstelle java.lang.Cloneable, wenn Sie die Methode clone () verwenden

Lass uns nachsehen

samPrototype.class


class samPrototype implements Cloneable{         // java.lang.Implementieren Sie Cloneable
  void todo(){System.out.println("prototype");}
  
  samPrototype getClone(){
    samPrototype pro = null;
    try{pro=(samPrototype) clone();              // clone()Und mache eine Kopie von sich
    }catch(Exception e){}
    return pro;
  }
}

user(Main.class)


public static void main(String[] args){
  samPrototype pr = new samPrototype();
  pr.getClone().todo();
}}

Speichern und verwenden Sie Instanzen in der Map-Sammlung

Registrieren Sie für das Prototypmuster mehrere Instanzen im Voraus Es gibt eine Verwendung, um clone () bei Bedarf auszuführen

Implementieren Sie mit der folgenden Konfiguration

Name der Klasse Erläuterung
prototype.interface Implementieren Sie Cloneable und Clone()Definieren Sie eine Methode
prototypeImple.class prototype.Schnittstelle implementieren und klonen()Implementieren Sie die Methode
prototypeManager.class Führen Sie eine Sammlung von Klasseninstanzen, die Prototypen implementieren
Klon im Prototyp-Typ()Stellen Sie eine Instanz mit einer Methode aus
user(Main.class) Überprüfen Sie den Betrieb

Lass uns eine Klasse machen

prototype.interface


interface prototype extends Cloneable{
  void todo();
  prototype exeClone();
}

prototypeImple.class


class prototypeImple implements prototype{
  String name;
  prototypeImple(String name){this.name=name;}

  public void todo(){System.out.println(name);}

  public prototype exeClone(){
      prototype pro = null;
      try{pro = (prototype) clone();}catch(Exception e){}
      return pro;
  }
}

usr(Main.class)


public static void main(String[] args){
  prototypeManager pm = new prototypeManager();
  pm.set(0, new prototypeImple("A"));
  pm.set(1, new prototypeImple("B"));
  prototype p1 = pm.getClone(0);
  prototype p2 = pm.getClone(1);
  p1.todo();
  p2.todo();
}}

Recommended Posts

Prototypmuster
Prototypmuster
Entwurfsmuster ~ Prototyp ~
Erinnerungsmuster
Vermittlermuster
Iteratormuster
Zusammengesetztes Muster
Beobachtermuster
Builder-Muster
Brückenmuster
Befehlsmuster
Builder-Muster
Strategiemuster
Iteratormuster
Besuchermuster
Adaptermuster
Proxy-Muster
Strategiemuster
Zusammengesetztes Muster
Singleton-Muster
Fassadenmuster
Dekorationsmuster
Fliegengewichtsmuster
Dekorateur Muster
Vermittlermuster
Fassadenmuster
Besuchermuster
Brückenmuster
abstraktes Fabrikmuster
Entwurfsmuster ~ Builder ~
[Java] Strategiemuster
Entwurfsmuster ~ Besucher ~
Java-Entwurfsmuster
Entwurfsmuster ~ Proxy ~
Entwurfsmuster ~ Zustand ~
Factory Method Pattern
Entwurfsmuster ~ Strategie ~
Entwurfsmuster ~ Composite ~
Entwurfsmuster (1): AbstractFactory
[Java] Singleton-Muster
Abstraktes Fabrikmuster
Entwurfsmuster ~ Iterator ~
Entwurfsmuster ~ Fassade ~
Entwurfsmuster ~ Brücke ~
Entwurfsmuster ~ Mediator ~
Muster der Vorlagenmethode
Entwurfsmuster ~ Dekorateur ~
Muster der Vorlagenmethode
Entwurfsmuster ~ Interpreter ~
Factory Method Muster
Entwurfsmuster ~ Beobachter ~
[Java] Adaptermuster
Entwurfsmuster ~ Memento ~
Entwurfsmuster ~ Adapter ~
Entwurfsmuster ~ Fliegengewicht ~
Java-Muster-Memo