工厂模式

来源:互联网 发布:网络利弊怎么说英语 编辑:程序博客网 时间:2024/05/21 17:37

一、用处:

   使用工厂模式,我们在创建对象时不会对客户端暴露具体的创建细节,使用一个共同的接口,让其子类自己决定实例化哪一个工厂类。

二、使用:

1.创建一个接口

public interface Animal {   void eat();}


2.创建接口的实现类
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("我是牛,我吃草");}}


3.创建工厂类
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;   }}


4.测试

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();}}


5.输出

我是狮子,我吃肉
我是牛,我吃草

6.总结:定义一个接口或抽象类,对其做不同的实现。创建一个工厂类,动态返回不同的实例。主类中去持有该工厂引用,由其去代理对象创建行为。

抽象工厂则用工厂创建工厂。

0 0
原创粉丝点击