Java简单工厂模式

本文详细介绍了Java中的简单工厂模式,包括抽象产品类、具体产品类和工厂类的角色,以及如何根据产品名动态创建实例,从而提高代码灵活性并降低耦合度。
摘要由CSDN通过智能技术生成

一.

简单工厂模式是指定义一个工厂类,该类能根据不同参数返回不同类的实例,被创建的实例有共同的父类。该模式又称静态工厂方法模式


二.

简单工厂模式包括3个角色:

      ①抽象产品类 ,负责定义所有具体产品的公共接口;

      ②具体产品类 ,抽象产品的子类,是简单工厂模式的创建目标,所有被创建的对象都是某个具体产品类的实例;

      ③工厂类 ,负责实现创建所有具体产品类的实例的内部逻辑,工厂类可以被外界直接调用。

如下:

package mei.qiu.suger;
//抽象产品类
abstract class Candy {
    abstract void diaplay();
}
//具体产品类
class HardCandy extends Candy{
    void diaplay() {
        System.out.println("生产硬糖");
    }
}

class SoftCandy extends Candy{
    void diaplay() {
        System.out.println("生产软糖");
    }
}
//工厂类
class CandyFactory {
    public static Candy createCandy(String Name){
        Candy candy = null;
        switch(Name){
            case "硬糖":
                candy = new HardCandy();
                break;
            case "软糖":
                candy = new SoftCandy();
                break;
            default:
                System.out.println("暂时能生产该糖果:" + Name);
        }
        return candy;
    }
}

public class Demo {
    public static void main(String[] args) {
        Candy HardCandy = CandyFactory.createCandy("硬糖");
        HardCandy.diaplay();
        Candy SoftCandy = CandyFactory.createCandy("软糖");
        SoftCandy.diaplay();
    }
}

结果为:

生产硬糖
生产软糖

简单工厂模式根据产品名获得对应的实例对象,解耦了定义与应用,增加程序灵活性,减轻了编程人员的记忆负担。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值