Java简单工厂模式实战

一 代码

// 抽象产品(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形的方块!

三 类图

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/94283529
今日推荐