设计模式之简单工厂模式(附代码)

简单工厂模式

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

特点:通过工厂方法传入参数就能获得一个对象,不需要知道创建细节。

package 创建型模式.简单工厂;
/** * @author 10073 
	* @date 2021/12/7 
	* @TIME 20:14
 */
abstract class Weapon{  abstract void display();//显示兵器名称}
//机关枪继承Weapon
class MachineGun extends Weapon{  
  @Override  
  void display() {  
  	System.out.println("机关枪");  
}}

//手枪继承Weapon
class Pistol extends Weapon{ 
 @Override  void display() {  
   System.out.println("手枪");  
}}

class WeaponFactory{ 
  //静态方法生产武器,参数表示武器类型 
  public static Weapon createWeapon(String type){   
  Weapon w=null;    
    switch (type){    
      case"手枪":     
        w=new Pistol();     
        break;  
      case"机关枪":  
        w=new MachineGun();     
        break;
      default:  
        System.out.println("不能生产该兵器");   
    }  
    return w;  
  }}


public class demo {  
  public static void main(String[] args) {
    //    兵工厂生产手枪   
    Weapon pistol= WeaponFactory.createWeapon("手枪");        
    pistol.display();
    //    兵工厂生产机关枪   
    Weapon mg=WeaponFactory.createWeapon("机关枪");   		 		
    mg.display();  }}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值