teacup.java~2~

来自「《深入浅出设计模式》的完整源代码」· JAVA~2~ 代码 · 共 67 行

JAVA~2~
67
字号
package cuppa;

public class TeaCup {
  boolean teaBagIsSteeped;
  Water facadeWater;
  TeaBag facadeTeaBag;
  public TeaCup () {
    setTeaBagIsSteeped (false);
    System.out.println ("茶杯准备好了");
  }

  public void setTeaBagIsSteeped (boolean isTeaBagSteeped) {
    teaBagIsSteeped = isTeaBagSteeped;
  }

  public boolean getTeaBagIsSteeped () {
    return teaBagIsSteeped;
  }

  public void addFacadeTeaBag (TeaBag facadeTeaBagIn) {
    facadeTeaBag = facadeTeaBagIn;
    System.out.println ("茶包放在苶杯了");
  }

  public void addFacadeWater (Water facadeWaterIn) {
    facadeWater = facadeWaterIn;
    System.out.println ("水倒入杯子了");
  }

  public void steepTeaBag () {
    if ( (facadeTeaBag != null) &&
        ( (facadeWater != null) && (facadeWater.getWaterIsBoiling ()))) {
      System.out.println ("茶渗透到杯子中");
      setTeaBagIsSteeped (true);
    }
    else {
      System.out.println ("茶没有渗透到杯子中");
      setTeaBagIsSteeped (false);
    }
  }

  public String toString()
  {
    if (this.getTeaBagIsSteeped()) {return ("A nice cuppa tea!");}
    else {
      String tempString = new String ("一个杯子");
      if (facadeWater != null) {
        if (facadeWater.getWaterIsBoiling ()) {
          tempString = (tempString + "放有沸腾的水 ");
        }
        else {
          tempString = (tempString + "放有冻水 ");
        }
      }
      else {
        tempString = (tempString + "没有放水 ");
      }
      if (facadeTeaBag != null) {
        tempString = (tempString + "有一个茶包");
      }
      else {
        tempString = (tempString + "没有茶包");
      }
      return tempString;
    }
  }
}

⌨️ 快捷键说明

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