decorator.java

来自「Java 2实用编程百例,一些比较实用的J2SE小程序,可以通过这些程序熟悉JA」· Java 代码 · 共 37 行

JAVA
37
字号
package ch10.section09;

import java.util.*;

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();
    while (listIterator.hasNext()) {
      System.out.println( ( (String) (listIterator.next()))
                         + " 正在进行");
    }
  }
}

⌨️ 快捷键说明

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