工厂方法模式的定义:
定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到其子类。
package com.itmyhome;
interface Fruit{ //定义一个创建对象的接口
public void eat();
}
class Apple implements Fruit{
public void eat() {
// TODO Auto-generated method stub
System.out.println("***吃苹果***");
}
}
class Orange implements Fruit{
public void eat() {
// TODO Auto-generated method stub
System.out.println("***吃橘子***");
}
}
class Factory{ //工厂类
public static Fruit getInstance(String className){
Fruit fruit = null;
try{
fruit = (Fruit)Class.forName(className).newInstance();
}catch(Exception e){
e.printStackTrace();
}
return fruit;
}
}
public class FactoryTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Fruit f = Factory.getInstance("com.itmyhome.Apple");
if(f!=null){
f.eat(); //***吃苹果***
}
}
}