一,工厂设计模式就是模仿一个工厂,我们传入原料,它生产出我们需要的产品,而我们想传入不同原料它就生产出不同的产品,这里的产品就是我们需要的对象,它可以在工厂类里进行加工,我们最终得到一个进行加工后的元对象.
package ReadTest;
public class ValueOf {
public static void main(String[] arg) throws Throwable {
Dog d = (Dog)Factory.get("ReadTest.Dog");
d.call();
}
}
class Factory{//定义工厂类,传入一个全限定名,就可以返回一个对象
public static Object get(String typeName) throws Throwable {
Class clzz = Class.forName(typeName);
Object obj = clzz.newInstance();
return obj;
}
}
interface Animal{//定义一个接口,所有要传入的子类都实现这个接口,这样工厂类就可以统一参数,
void call();
}
class Dog implements Animal{
@Override
public void call() {
System.out.println("狗叫");
}
}
class Hen implements Animal{
@Override
public void call() {
System.out.println("鸡叫");
}
}