设计模式-工厂模式(01)

简单工厂模式

在这里插入图片描述
实现:

  1. mouse基础类
/**
 * 鼠标抽象类
 *
 * @author liuyuan
 * @version BaseMouse.java, v 0.1 2020-04-12 11:21
 */
public abstract class BaseMouse {

    /**
     * 生产鼠标的抽象方法
     */
    public abstract void sayHi();
}


/**
 * 戴尔实现类
 *
 * @author liuyuan
 * @version DellMouse.java, v 0.1 2020-04-12 11:23
 */
public class DellMouse extends BaseMouse {

    @Override
    public void sayHi() {
        System.out.println("dell 生产鼠标~");
    }
}


/**
 * 惠普实现类
 *
 * @author liuyuan
 * @version HpMouse.java, v 0.1 2020-04-12 11:23
 */
public class HpMouse extends BaseMouse {

    @Override
    public void sayHi() {
        System.out.println("HP 生产鼠标~");
    }
}
  1. factory工厂类
/**
 * fshows.com
 * Copyright (C) 2013-2020 All Rights Reserved.
 */
package com.example.designmode.factory.simplefactory.factory;

import com.example.designmode.factory.simplefactory.mouse.BaseMouse;
import com.example.designmode.factory.simplefactory.mouse.DellMouse;
import com.example.designmode.factory.simplefactory.mouse.HpMouse;

/**
 * 鼠标工厂类
 *
 * @author liuyuan
 * @version BasePcFactory.java, v 0.1 2020-04-12 11:25
 */
public class MouseFactory {

    public static BaseMouse greatMouse(int i) {

        switch (i) {
            case 0:
                return new DellMouse();

            case 1:
                return new HpMouse();

            default:
                System.out.println("工厂不存在!");
                return null;
        }
    }
}
  1. 测试
/**
 * fshows.com
 * Copyright (C) 2013-2020 All Rights Reserved.
 */
package com.example.designmode.factory.simplefactory;

import com.example.designmode.factory.simplefactory.factory.MouseFactory;

/**
 * 简单工厂模式
 *
 * @author liuyuan
 * @version Test.java, v 0.1 2020-04-12 11:30
 */
public class Test {

    public static void main(String[] args) {

        System.out.println("~~~简单工厂模式~~~");

        // dell 生产鼠标~
        MouseFactory.greatMouse(0).sayHi();
        // HP 生产鼠标~
        MouseFactory.greatMouse(1).sayHi();
        // 工厂不存在!
        MouseFactory.greatMouse(2).sayHi();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值