抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。以下是例子:
//创建黑色动物的工厂
public class BlackAnimalFactory implements IAnimalFactory{
public ICat createCat() {
return new BlackCat(); }
public IDog createDog() {
return new BlackDog(); } }
//创建白色动物的工厂
public class WhiteAnimalFactory implements IAnimalFactory{
public ICat createCat() {
return new WhiteCat(); }
public IDog createDog() {
return new WhiteDog(); } }
//黑猫创建
public class BlackCat implements ICat{
//白狗创建
public class WhiteDog implements IDog{
public void eat() {
System.out.println("The white dog is eating!"); } }
//测试类
public class Test {
public static void main(String[] args) {
IAnimalFactory blackAnimalFactory = new BlackAnimalFactory();
ICat blackCat = blackAnimalFactory.createCat();
blackCat.eat();
IDog blackDog = blackAnimalFactory.createDog();
blackDog.eat();
IAnimalFactory whiteAnimalFactory = new WhiteAnimalFactory();
ICat whiteCat = whiteAnimalFactory.createCat();
whiteCat.eat();
IDog whiteDog = whiteAnimalFactory.createDog();
whiteDog.eat(); } }