设计模式之抽象工厂

抽象工厂类

interface Hardware{

    public Keyboard manufactureKeyboard();
    public Mouse manufactureMouse();
}

 

具体实现工厂类

class MacFactory implements Hardware{
    @Override
    public Keyboard manufactureKeyboard() {
        return new MacKeyboard();
    }

    @Override
    public Mouse manufactureMouse() {
        return new MacMouse();
    }
}

class WinFactory implements Hardware{
    @Override
    public Keyboard manufactureKeyboard() {
        return new WinKeyboard();
    }

    @Override
    public Mouse manufactureMouse() {
        return new WinMouse();
    }
}

 

创建抽象工厂

public class AbstractFactoryPattern {

    public static void main(String[] args) {
        Hardware mac = new MacFactory();
        mac.manufactureKeyboard().input();
        mac.manufactureMouse().click();

        Hardware win = new WinFactory();
        win.manufactureKeyboard().input();
        win.manufactureMouse().click();
    }
}

 

posted @ 2021-09-24 19:35  灡亾  阅读(25)  评论(0)    收藏  举报