decorator.java

来自「java 设计模式之Decorator(油漆工)」· Java 代码 · 共 51 行

JAVA
51
字号
package com.zwwdd.www.decorator;

import java.util.ArrayList;
//import java.util.ListIterator;
import java.util.Iterator;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class Decorator implements Work{
    private Work work;

    //额外增加的功能被打包在这个List中
    private ArrayList others = new ArrayList();

    //在构造器中使用组合new方式,引入Work对象;
    public Decorator(Work work) {
        this.work = work;
        others.add("挖坑");
        others.add("钉木板");
    }

    public void insert() {
        newMethod();
    }


//在新方法中,我们在insert之前增加其他方法,这里次序先后是用户灵活指定的
    public void newMethod() {
        otherMethod();
        work.insert();
    }

    public void otherMethod() {
//        ListIterator listIterator = others.listIterator();
        Iterator iter = others.iterator();
        while (iter.hasNext()) {
            System.out.println(((String) (iter.next())) + " 正在进行");
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?