decorator.java

来自「JAVA编程百例书中各章节的所有例子的源代码,包括套接字编程」· 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 + -
显示快捷键?