简单工厂模式

简单工厂模式概述

又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例

优点

客户端不需要在负责对象的创建,从而明确了各个类的职责

缺点

这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护

public class IntegerDemo {
	public static void main(String[] args) {
		Animal dog = AnimalFactory.createAnimal("dog");
		Animal cat = AnimalFactory.createAnimal("cat");
		Animal pig = AnimalFactory.createAnimal("pig");

		if (dog != null) {
			dog.eat();
		} else {
			System.out.println("无法创建");
		}

		if (cat != null) {
			cat.eat();
		} else {
			System.out.println("无法创建");
		}

		if (pig != null) {
			pig.eat();
		} else {
			System.out.println("无法创建");
		}
	}
}

abstract class Animal {// 抽象类
	public abstract void eat();
}

class Dog extends Animal {// 狗
	public void eat() {
		System.out.println("a dog is eatting.");
	}
}

class Cat extends Animal {// 猫
	public void eat() {
		System.out.println("a cat is eatting.");
	}
}

class AnimalFactory {// 动物工厂
	private AnimalFactory() {// 把构造方法改成private

	}

	public static Animal createAnimal(String s) {
		if ("dog".equals(s)) {
			return new Dog();
		} else if ("cat".equals(s)) {
			return new Cat();
		} else {
			return null;
		}
	}
}
原文地址:https://www.cnblogs.com/denggelin/p/6348092.html