抽象产品:
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");
}
}