简单工厂模式

简单工厂模式:顾名思义就是一个工厂,其它类由该工厂生产出来例如:

public class FruitFactory {

//这是一个工厂类

}

有了工厂就要有产品定义2个水果类

public class Apple{

}

public class Oragle{

}

有了产品了,简单工厂类一般情况下产品会有一个共同的父类

创建一个接口

public interface Fruit{

public void getFruit();

}



产品类继承该接口

public class Apple implement Fruit{

public void getFruit(){

System.out.printf("我是苹果")

}

}

public class Oragle implement Fruit{

public void getFruit(){

System.out.printf("我是橘子")

}

}

工厂就可以生产产品了

第一种<

public class FruitFactory {

//这是一个工厂类

public static Fruit getApple(){

return new Apple();

}

public static Fruit getOragle(){

return new Oragle();

}

}

第二种

public class FruitFactory {

//这是一个工厂类

public static Fruit getFruit(String type){

if(type.equals("apple")){

return Apple.class.newInstance()

}else if(type.equals("oragle")){

return Oragle.class.newInstance();

}else{

System.out.printf("没有这种水果")

return null;

}

}


第三种

public class FruitFactory {

//这是一个工厂类

public static Fruit getFruit(String type){

return(Fruit)Class.forName(type).newInstance();

}

<span style="font-family: Arial, Helvetica, sans-serif;">}</span>

第一中和第二种是最常见的写法,地模式三种通过动态加载获取实例,具有很好的扩展性,但是调用方法是type对应的类的名字要写对,不然会出现ClassNotFoundException,简单工厂模式的确定不易扩展


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值