In diesem Aufsatz wird hauptsächlich die Implementierung eines einfachen Dekorationsdesign -Musters mit Java vorgestellt:
Schauen wir uns zunächst das Klassendiagramm des Dekorateur -Designmusters an:
Wie aus der Abbildung hervorgeht, können wir jede Implementierungsklasse der Komponentenschnittstelle dekorieren, und diese Implementierungsklassen enthalten auch den Dekorateur selbst, der auch wieder dekoriert werden kann.
Unten finden Sie ein einfaches Dekorationsdesign -Muster, das in Java implementiert ist. Es bietet ein Dekoratorsystem, das mit der grundlegenden Zugabe von Kaffee beginnt und weiterhin Milch, Schokolade und Zucker hinzufügen kann.
Schnittstellenkomponente {void method ();} Klasse Kaffee implementiert die Komponente {@Override public void methode () {// Todo automatisch generierter Methode stub system.out.println ("Kaffee gießen"); }} Klassendekorateur implementiert die Komponente {public component comp; Public Decorator (Komponenten Comp) {this.comp = comp; } @Override public void methode () {// Todo automatisch generierte Methode Stub.Method (); }} Klasse ConcretEDeCoratea erweitert Dekorateur {public component comp; public concretedecoratea (component comp) {super (comp); this.comp = comp; } public void method1 () {System.out.println ("Milchspuren"); } public void method2 () {System.out.println ("Zucker hinzufügen"); } public void method () {Super.Method (); Methode1 (); Methode2 (); }} Klasse ConcretEdeCorateB erweitert Dekorateur {public component comp; public konkretedEcorate (component comp) {super (comp); this.comp = comp; } public void method1 () {System.out.println ("Schokolade hinzufügen"); } public void method () {Super.Method (); Methode1 (); }} public class testdecoratePattern {public static void main (String [] args) {component comp = new coffee (); Comp.Method (); System.out.println ("----------------------------------------------"); Component comp1 = new ConcretEDeCoratea (comp); comp1.method (); System.out.println ("----------------------------------------------"); Component comp2 = neu konkretedEcorateB (comp1); Comp2.Method (); System.out.println ("----------------------------------------------"); Component comp3 = neu konkretedEcorate (neuer konkretedCoratea (neuer Kaffee ()); comp3.method (); System.out.println ("----------------------------------------------"); Component comp4 = new ConcretEDecoratea (neuer konkretedEcorate (neuer Kaffee ()); comp4.Method (); }} Auslaufergebnisse:
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.