工厂方法模式的核心是为了优化借口的调用
可以结合反射进行很好的使用
package com.xuning.factorymethod;
public interface Animal {
public void showName();
public void showage();
}
package com.xuning.factorymethod;
public class Cat implements Animal{
public void showName() {
// TODO Auto-generated method stub
System.out.println("我是一只小猫");
}
public void showage() {
// TODO Auto-generated method stub
System.out.println("我年芳22");
}
}
package com.xuning.factorymethod;
public class Dog implements Animal{
public void showName() {
// TODO Auto-generated method stub
System.out.println("我是一只小狗!");
}
public void showage() {
// TODO Auto-generated method stub
System.out.println("我年芳18");
}
}
package com.xuning.factorymethod;
public class AnimalFactory {
Animal animal;
public AnimalFactory(Class class1) {
// TODO Auto-generated constructor stub
if(class1==Cat.class){
animal=new Cat();
}else if(class1==Dog.class){
animal=new Dog();
}else{
animal=null;
}
}
public Animal getAnimal(){
return animal;
}
}
package com.xuning.factorymethod;
public class TAnimalFactory {
public static void main(String[] args) {
AnimalFactory animalFactory=new AnimalFactory(Cat.class);
animalFactory.getAnimal().showName();
}
}