工厂方法模式

来源:互联网 发布:萤石云软件下载 编辑:程序博客网 时间:2024/06/07 11:41

工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。

如下是类的名称:

package com.fts.javatribe.factory;/** * @ClassName:Animal * @Description:TODO * @author FTS * @date Nov 2, 2014 8:10:32 PM  */public abstract class Animal {public abstract void eat();}


 

package com.fts.javatribe.factory;/** * @ClassName:AnimalFactory * @Description:TODO * @author FTS * @date Nov 2, 2014 8:13:57 PM  */public interface AnimalFactory {public abstract Animal createAnimal();}


 

package com.fts.javatribe.factory;/** * @ClassName:Cat * @Description:TODO * @author FTS * @date Nov 2, 2014 8:12:03 PM  */public class Cat extends Animal {/* (non-Javadoc) * @see com.fts.javatribe.factory.Animal#eat() */@Overridepublic void eat() {// TODO Auto-generated method stub        System.out.println("猫吃鱼");}}


 

package com.fts.javatribe.factory;/** * @ClassName:CatFactory * @Description:TODO * @author FTS * @date Nov 2, 2014 8:16:09 PM  */public class CatFactory implements AnimalFactory {/* (non-Javadoc) * @see com.fts.javatribe.factory.AnimalFactory#createAnimal() */public Animal createAnimal() {// TODO Auto-generated method stubreturn new Cat();}}
package com.fts.javatribe.factory;/** * @ClassName:Dog * @Description:TODO * @author FTS * @date Nov 2, 2014 8:12:32 PM  */public class Dog extends Animal {/* (non-Javadoc) * @see com.fts.javatribe.factory.Animal#eat() */@Overridepublic void eat() {// TODO Auto-generated method stub       System.out.println("狗吃肉");}}


 

package com.fts.javatribe.factory;/** * @ClassName:DogFactory * @Description:TODO * @author FTS * @date Nov 2, 2014 8:15:26 PM  */public class DogFactory implements AnimalFactory {/* (non-Javadoc) * @see com.fts.javatribe.factory.AnimalFactory#createAnimal() */public Animal createAnimal() {// TODO Auto-generated method stubreturn new Dog();}}
package com.fts.javatribe.factory;/** * @ClassName:Test * @Description:TODO * @author FTS * @date Nov 2, 2014 8:16:38 PM  */public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub        AnimalFactory af=new DogFactory();        Animal a=af.createAnimal();        a.eat();}}




 

 

0 0