一 代码
// 抽象产品(Abstract Product)角色
interface Block {
public void print();
}
// 具体产品角色
class IBlock implements Block {
public void print() {
System.out.println("我是一个I形的方块!");
}
}
// 具体产品角色
class LBlock implements Block {
public void print() {
System.out.println("我是一个L形的方块!");
}
}
// 工厂(Factory)角色
class Factory {
public static Block getInstance( String className ) {
switch (className) {
case "IBlock":
return new IBlock();
case "LBlock":
return new LBlock();
default:
return null;
}
}
}
// 客户端
public class TestSimpleFactory {
public static void main( String[] args ) {
Block iBlock = Factory.getInstance("IBlock");// 用工厂生产一个 I 形方块
iBlock.print();
Block lBlock = Factory.getInstance("IBlock");// 用工厂生产一个 L 形方块
lBlock.print();
}
}
二 运行
我是一个I形的方块!
我是一个I形的方块!
三 类图