简单工厂模式(代码实现)

   日期:2020-05-18     浏览:94    评论:0    
核心提示:简单工厂模式简述工厂模式用于封装和管理对象的创建,是一种创建型模式。简单工厂模式则是简单的进行封装,再通过工厂创建对象。一、项目结构Factory是工厂包,Interface接口包,impl实现包,main则是主函数。工厂生产需要有生产规定,interface存放的java就是这一系列规定Languages.java本次代码以语言举例,先规范一个语言package Interface;public interface Languages { void say();}接着是java

简单工厂模式简述
工厂模式用于封装和管理对象的创建,是一种创建型模式。
简单工厂模式则是简单的进行封装,再通过工厂创建对象。

一、项目结构

Factory是工厂包,Interface接口包,impl实现包,main则是主函数。

工厂生产需要有生产规定,interface存放的java就是这一系列规定
Languages.java
本次代码以语言举例,先规范一个语言

package Interface;

public interface Languages {
    void say();
}

接着是每个语言的实现Chinese.java和English.java

package Interface.impl;

import Interface.Languages;

public class Chinese implements Languages {
    public Chinese(){
        this.say();
    }
    @Override
    public void say() {
        System.out.println("你好!");
    }
}

package Interface.impl;

import Interface.Languages;

public class English implements Languages {
    public English(){
        this.say();
    }
    @Override
    public void say() {
        System.out.println("Hello!");
    }
}

设定好规范,弄好每个产品的功能后,就开始生产这些产品,就需要一个工厂

LanguageFactory.java
根据给的信息说对应的语言

package Factory;

import Interface.Languages;
import Interface.impl.Chinese;
import Interface.impl.English;

public class LanguageFactory {
    public Languages Speak(String LanguagesType){
        if(LanguagesType.equals("Chinese")){
            return new Chinese();
        }else if (LanguagesType.equals("English")){
            return new English();
        }
        return null;
    }
}

一切都准备好,就是执行运行的功能。
test.java

package main;

import Factory.LanguageFactory;
import Interface.Languages;

public class test {
    public static void main(String[] args){
        LanguageFactory lf=new LanguageFactory();
        Languages Ch=lf.Speak("Chinese");
        Languages En=lf.Speak("English");
    }
}

运行截图

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服