一.工厂设计模式会给系统带来更好的扩展性和尽量小的修改量:
package factory;
//工厂设计模式
interface Fruit { //水果接口
public void eat(); //吃水果
}
class Apple implements Fruit{ //定义苹果
public void eat() {
System.out.println("小明吃苹果。");
}
}
class Orange implements Fruit{
public void eat() {
System.out.println("小明吃橘子。");
}
}
class Factory{
public static Fruit getInstance(String className){
Fruit fruit = null;
//newInstance()创建实例对象
try{
fruit = (Fruit) Class.forName(className).newInstance();
}catch(Exception e ){
e.printStackTrace();
}
return fruit;
}
}
public class FactoryDemo{
public static void main(String args[]){ //通过工厂类取得接口实例,传入完整的包.类名称
Fruit f = Factory.getInstance("factory.Apple");
if(f!=null){ //判断是否取得接口实例
f.eat();
}
}
}