简单抽象工厂设计模式代码
public interface IAnimalFactory {
ICat createCat();
IDog createDog();
}
public class BlockAnimalFactory implements IAnimalFactory {
public ICat createCat() {
return new BlockCat();
}
public IDog createDog() {
return new BlockDog();
}
}
public class WhiteAnimalFactory implements IAnimalFactory {
public ICat createCat() {
return new WhiteCat();
}
public IDog createDog() {
return new WhiteDog();
}
}
public interface ICat {
void eat();
}
public interface IDog {
void eat();
}
public class BlockCat implements ICat {
public void eat() {
System.out.println("The block cat is eating ");
}
}
public class BlockDog implements IDog {
public void eat() {
System.out.println("the block dog is eating");
}
}
public class WhiteCat implements ICat {
public void eat() {
System.out.println("the white cat is eating");
}
}
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 BaFactory = new BlockAnimalFactory();
ICat bcat = BaFactory.createCat();
bcat.eat();
IDog bdog = BaFactory.createDog();
bdog.eat();
IAnimalFactory AnFactory = new WhiteAnimalFactory();
ICat wcat = AnFactory.createCat();
wcat.eat();
IDog wdog = AnFactory.createDog();
wdog.eat();
}
}