工厂模式

来源:互联网 发布:warframe下载缓存优化 编辑:程序博客网 时间:2024/06/06 05:28

工厂模式:将实例的创建封装在一个工厂中,该工厂中的方法返回的是一系列base类衍生出来的类。

分为两种实现:1、简单工厂;2、静态工厂

1、简单工厂实现代码

public class SimpleFactor {    public Object getgame(String type){        Object result = new Object();        switch (type){            case "cj":                result = new CJgame();                break;            case "cf":                result = new CFgame();        }        return result;    }}

2、静态工厂实现

package design_absFractor;//测试public class absfactory {    public static void main(String[] args) {        AllenFac allenFac = new AllenFac();        allenFac.getAniaml().realAniaml();        allenFac.getFriut().realFriut();    }}//水果类interface friut {    void realFriut();}class apple implements friut{    @Override    public void realFriut() {        System.out.println("i am is a apple");    }}class balanan implements friut{    @Override    public void realFriut() {        System.out.println("i am is a balanan");    }}//动物类interface aniaml {    void realAniaml();}class dog implements aniaml{    @Override    public void realAniaml() {        System.out.println("i am is a crul dog");    }}class brid implements aniaml{    @Override    public void realAniaml() {        System.out.println("i am is a urge bird");    }}//抽象工厂(base)interface absFac {    friut getFriut();    aniaml getAniaml();}//具体工厂class AllenFac implements absFac{    @Override    public friut getFriut() {        return new balanan() ;    }    @Override    public aniaml getAniaml() {        return new dog();    }}