栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

设计模式-简单工厂模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

设计模式-简单工厂模式

简单工厂模式介绍

    简单工厂模式又称为静态工厂方法模型,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

案例描述

订购一个披萨,披萨的种类有cheese披萨,greek披萨,实现针对输入披萨的种类,返回披萨的制作流程。

1.创建披萨抽象类

public abstract class Pizza {
    
    protected String name;

    
    public abstract void prepare();

    public void bake() {
        System.out.println(name + " baking");
    }

    public void cut() {
        System.out.println(name + " cuting");
    }

    public void box() {
        System.out.println(name + " boxing");
    }

    public void setName(String name) {
        this.name = name;
    }
}
  1. 创建对应披萨种类的类,继承披萨抽象类
public class GreekPizza extends com.design.example.factory.simplefactory.pizzastore.pizza.Pizza {

    @Override
    public void prepare() {
        System.out.println(" 给希腊披萨 准备原材料");
    }
}
public class CheesePizza extends com.design.example.factory.simplefactory.pizzastore.pizza.Pizza {

    @Override
    public void prepare() {
        System.out.println("  给制作奶酪披萨 准备原材料 ");
    }
}
  1. 创建简单工厂类
public class SimpleFactory {

    
    public Pizza createPizza(String orderType) {
        System.out.println("使用简单工厂模式");
        Pizza pizza = null;
        if(orderType.equals("greek")) {
            pizza = new GreekPizza();
            pizza.setName("希腊披萨");
        } else if(orderType.equals("cheese")) {
            pizza = new CheesePizza();
            pizza.setName("奶酪披萨");
        }
        return pizza;
    }
}
  1. 调用方法
public static void main(String[] args) {
		SimpleFactory simpleFactory = new SimpleFactory();
        
        simpleFactory.createPizza("cheese");
    }

通过简单工厂类,根据接收到的披萨类型,返回对应的披萨对象。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1027844.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号