Dieser Artikel vermittelt Ihnen relevantes Wissen über Java, das hauptsächlich verwandte Themen zu Designmustern vorstellt. Er bezieht sich hauptsächlich auf den relevanten Inhalt des Dekoratormusters, der sich auf die dynamische Änderung der vorhandenen Objektstruktur bezieht, ohne sie zu ändern allen hilfreich sein.
Empfohlenes Lernen: „Java-Video-Tutorial“
Definition des Dekoratormusters: Bezieht sich auf die dynamische Änderung der vorhandenen Objektstruktur, ohne sie zu ändern. Es handelt sich um ein Muster Dies fügt dem Objekt einige Verantwortlichkeiten hinzu (d. h. fügt seine zusätzlichen Funktionen hinzu. Es gehört zum Strukturmuster des Objekts.)
Normalerweise wird die Erweiterung der Funktionalität einer Klasse durch Vererbung implementiert. Allerdings weist die Vererbung statische Merkmale und einen hohen Grad an Kopplung auf, und mit zunehmender Erweiterung der Funktionen werden Unterklassen erweitert. Wenn Sie Kompositionsbeziehungen verwenden, um ein Wrapper-Objekt (d. h. ein Dekorationsobjekt) zu erstellen, um das reale Objekt zu umhüllen und ihm zusätzliche Funktionalität zu verleihen, während die Klassenstruktur des realen Objekts unverändert bleibt, ist dies das Ziel des Dekoratormusters. Lassen Sie uns die Grundstruktur und Implementierungsmethode analysieren.1. Dekoratoren sind eine leistungsstarke Ergänzung zur Vererbung und flexibler als die Vererbung. Sie können Funktionen dynamisch auf ein Objekt erweitern, ohne das ursprüngliche Objekt zu ändern. 2. Durch die Verwendung von And sind keine dekorativen Klassen erforderlich Durch die Anordnung und Kombination dieser Dekorationsklassen können verschiedene Effekte erzielt werden Programm.
Wissenspunkte
Implementierung des DekorationsmustersFall:
Hei Xiaohu fing die sieben Helden und röstete die HongmaoRolle des abstrakten Dekorators: Zutaten hinzufügenRolle der abstrakten Komponente (Komponente): Sieben Helden
Rolle der konkreten Komponente (Betonkomponente): Hongmao
Die Qixia-Schnittstelle deklariert eine abstrakte Barbecue-Methode ist ein abstrakter Dekorateur implementiert die Qixia-Schnittstelle, deklariert ein Qixia-Attribut und wird zum Aufrufen der Qixia-Barbecue-Methode
public interface Qi { void show();}
public class Hong implements Qi { @Override public void show() { System.out.println("烧烤一个虹猫"); }}
Ich habe die abstrakte Klasse geerbt und die Grillmethode neu geschrieben, einen Kreuzkümmel
public class JiaLiao implements Qi { private Qi qi; JiaLiao() { } JiaLiao(Qi component) { this.qi = component; } @Override public void show() { qi.show(); }}
eine neue Regenbogenkatze hinzugefügt und sie gegrillt.Fügen Sie etwas Salz hinzu.
Empfohlenes Lernen: „Java-Video-Tutorial
Das obige ist der detaillierte Inhalt vonFassen Sie JAVA-Decorator-Muster zusammen und organisieren Sie sie (detaillierte Beispiele).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!