Это эссе в основном представляет реализацию простого рисунка дизайна декоратора с использованием Java:
Давайте сначала посмотрим на схему классов рисунка дизайна декоратора:
Как видно из рисунка, мы можем украсить любой класс реализации интерфейса компонента, и эти классы реализации также включают сам декоратор, который также может быть украшен снова.
Ниже приведен простой рисунок дизайна декоратора, реализованный на Java. Он предоставляет систему декоратора, которая начинается с основного добавления кофе и может продолжать добавлять молоко, шоколад и сахар.
Интерфейс компонент {void method ();} класс кофе в реализации компонента {@override public void () {// todo автоматическое сгенерированное метод System.out.println ("Pour In Coffee"); }} Декоратор класса реализует компонент {public Component Comp; Public Decorator (Component Comp) {this.comp = comp; } @Override public void method () {// todo Автогенерированный метод STUB Comp.method (); }} класс ConcretEdeCoratea Extends Decorator {public Component Comp; public concretedecoratea (компонент Comp) {super (comp); this.comp = comp; } public void method1 () {System.out.println ("Pul In Milk"); } public void method2 () {System.out.println ("добавить сахар"); } public void method () {super.method (); method1 (); Метод2 (); }} class concretedecorateb Extends Decorator {public Component Comp; public concretedecorateb (компонент comp) {super (comp); this.comp = comp; } public void method1 () {System.out.println ("добавить шоколад"); } public void method () {super.method (); method1 (); }} public class testDecoratePattern {public static void main (string [] args) {component comp = new Coffee (); comp.method (); System.out.println ("--------------------------------------------------"); Компонент comp1 = new ConcretedeCoratea (Comp); comp1.method (); System.out.println ("--------------------------------------------------"); Компонент comp2 = new ConcretedEcorateb (comp1); comp2.method (); System.out.println ("--------------------------------------------------"); Component Comp3 = New ConcretEdeCortatb (New ConcretedEcoratea (New Coffee ())); comp3.method (); System.out.println ("--------------------------------------------------"); Component Comp4 = новый ConcretEdeCoratea (New ConcretEdeCortatb (New Coffee ())); comp4.method (); }} Результаты работы:
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.