java 设计模式 学习笔记(1) - 简单工厂模式

简单工厂模式是java 设计模式里头比较简单基础的一种,其特点是根据用户不同的参数而返回不同的实例。

使用简单工厂的好处在于在今后可能的系统扩展或修改时带来更大的可扩展行和更少的代码修改。

根据《重构》 中的介绍,尽量减少 生成新的对象的代码。


在这里,我自己写了一个简单工厂的小例子:

 

 

 

 

最后输出结果:



在这个例子中,先声明了一个animal 父类,animal 类中还有一个 shout 方法,其中:

System.out.println("you create a :"+this.getClass().getName());

 的作用就是打印出调用 shout 方法的animal 类或其子类的类名

通过这样的方式,我们在使用  工厂方法生产的  animal 子类就可以明确到底是产生了那个子类了。


看看  AnimalFactory 工厂方法,我还顺带着用了一下多态,啥叫多态 :  声明了父类,产生的却是某个子类。

 用  Animal  animal =null    来声明一个  父类,

     animal =  new Dog ()     产生一个 DOG  子类






PS:为了保证代码的健壮性,也为了向程序阅读者强调 AnimalFactory 仅仅只是一个工厂类,是用来产生  Animal  的子类对象的,

可以 将  AnimalFactory 的默认构造函数设置为private ,这样即使他人想实例化 AnimalFactory 这个工厂类,也无能为力。

修改后的工厂类方法:

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值