设计模式(三)简单工厂模式

/**
 * 简单工厂模式(Simple Factory):专门定义一个类来负责创建其他类的实例,
 * 被创建的实例通常具有共同的接口或父类
 */
public class SimpleFactory {

	public static void main(String[] args) {
		// 用接口的引用变量来接收参数,只要实现了这个接口的水果都可以接收
		IFruit fruit = Factory.getFruit("香蕉");
		if (fruit == null) {
			System.out.println("生产不出来");
		} else {
			System.out.println(fruit.get());
		}
	}
}

interface IFruit {
	public String get();
}

class Factory {
	public static IFruit getFruit(String name) {
		if (name.equals("苹果")) {
			return new Apple();
		} else if (name.equals("香蕉")) {
			return new Banana();
		} else {
			return null;
		}
	}
}

class Apple implements IFruit {

	@Override
	public String get() {
		return "苹果";
	}

}

class Banana implements IFruit {

	@Override
	public String get() {
		return "香蕉";
	}

}

你可能感兴趣的:(java设计模式)