1. 程式人生 > >設計模式之一:簡單工廠模式

設計模式之一:簡單工廠模式

package com.xjh.demo.designpattern.pattern1;

public abstract class Animal {
    public abstract void eat();
}
package com.xjh.demo.designpattern.pattern1;

public class Dog extends Animal{

    public void eat() {
        System.out.println("dog eat meat!!");
    }
}
package com.xjh.demo.designpattern.pattern1;

public class Cat extends Animal{
    @Override
    public void eat() {
        System.out.println("cat eat fish!! ");
    }
}
package com.xjh.demo.designpattern.pattern1;

public class AnimalFactory {
    private AnimalFactory(){

    }

    public static Animal createAnimal(String type){
        if("dog".equals(type)){
            return new Dog();
        }else if("cat".equals(type)){
            return new Cat();
        }else{
            return null;
        }

    }
}
package com.xjh.demo.designpattern.pattern1;

public class AnimalTest {

    public static void main(String[] args) {
        Animal animal = AnimalFactory.createAnimal("dog");
        animal.eat();
        animal = AnimalFactory.createAnimal("cat");
        animal.eat();
    }
}