`
怪盗西特乐
  • 浏览: 28102 次
社区版块
存档分类
最新评论

java工厂方法模式

 
阅读更多



 

抽象产品:
public abstract class PenCore {
   String color;
   public abstract void writeWord(String s);
}
 
具体产品:
public class RedPenCore extends PenCore{
    RedPenCore(){
      color="红色";
    }
      @Override
      public void writeWord(String s) {
            System.out.println("写出"+color+"的字"+s);
            
      }
}
public class BluePenCore extends PenCore {
      BluePenCore() {
       color="蓝色";
      }
      @Override
      public void writeWord(String s) {
            System.out.println("写出"+color+"的字"+s);
      }
}
 

构造者:

public abstract class Creator {
      public Creator() {
            System.out.println("生产了一只装有"+getpPenCore().color+"笔芯圆珠笔");
      }
      public abstract PenCore getpPenCore();
}
 

具体构造者:
public class RedBallPen extends Creator{
      @Override
      public PenCore getpPenCore() {
            return new RedPenCore();
      }
}
public class BlueBallpen extends Creator {
      @Override
      public PenCore getpPenCore() {
            return new BluePenCore();
      }
}
 

程序运行:

public class Applicaiton {
      public static void main(String[] args) {
      PenCore penCore;
      Creator ballpen =new BlueBallpen();
      penCore=ballpen.getpPenCore();
      penCore.writeWord("你好很高兴认识你");
      ballpen=new RedBallPen();
      penCore=ballpen.getpPenCore();
      penCore.writeWord("HOW ARE YOU");
      }
}
 
  • 大小: 6.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics