工厂模式
来源:互联网 发布:网络利弊怎么说英语 编辑:程序博客网 时间:2024/05/21 17:37
一、用处:
使用工厂模式,我们在创建对象时不会对客户端暴露具体的创建细节,使用一个共同的接口,让其子类自己决定实例化哪一个工厂类。
二、使用:
1.创建一个接口
public interface Animal { void eat();}
public class Lion implements Animal {@Overridepublic void eat() {// TODO Auto-generated method stubSystem.out.println("我是狮子,我吃肉");}}
public class Cow implements Animal {@Overridepublic void eat() {// TODO Auto-generated method stubSystem.out.println("我是牛,我吃草");}}
public class AnimalFactory { public Animal getAnimal(String AnimalType){ if(AnimalType == null){ return null; } if(AnimalType.equalsIgnoreCase("lion")){ return new Lion(); } else if(AnimalType.equalsIgnoreCase("cow")){ return new Cow(); } return null; }}
public class FactoryPatternDemo {
public static void main(String[] args) {// TODO Auto-generated method stubAnimalFactory animalFactory = new AnimalFactory();Animal animal1 = animalFactory.getAnimal("lion");animal1.eat();Animal animal2 = animalFactory.getAnimal("cow");animal2.eat();}}
我是狮子,我吃肉
我是牛,我吃草
6.总结:定义一个接口或抽象类,对其做不同的实现。创建一个工厂类,动态返回不同的实例。主类中去持有该工厂引用,由其去代理对象创建行为。
抽象工厂则用工厂创建工厂。
0 0
- 工厂模式 -- 工厂方法
- 工厂模式 -- 抽象工厂
- 工厂模式-简单工厂
- 工厂模式-工厂方法
- 工厂模式:静态工厂
- 工厂模式-简单工厂
- 工厂模式-抽象工厂
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-静态工厂
- 工厂模式-抽象工厂
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 极光推送功能开发心得及开发过程出现的问题
- 算法学习之猴子吃桃
- 用MathType可以编辑带点星号吗
- 网络中身份认证Kerberos介绍
- Android接收UDP TS流实现边缓存边播放
- 工厂模式
- checkbox全选,js实现
- sitecore(key\value\language)的灵活应用
- struts2的核心机制学习
- 算法学习之约瑟夫环问题
- Public Keys
- Perfect Squares
- unity 实现另一个unity软件的安装工具(3)——压缩解压安装工程
- 相机标定总结