您的位置:首页 > 其它

设计模式之抽象工厂模式

2017-04-14 10:13 183 查看
前面提到工厂模式是一对一,现在的抽象工厂则是一对多了。

上代码:

首先猫接口:

public interface Cat {
public void speak();
}


猫下面分为黑猫白猫,具体实现:

黑猫:

public class BlackCat implements Cat {
@Override
public void speak() {
System.out.println("I am hei miao~");
}
}


白猫:

public class WhiteCat implements Cat{
@Override
public void speak() {
System.out.println("I am bai miao~");
}
}


然后狗接口:

public interface Dog {
public  void speak();
}


狗下面分为黑狗白狗:

白狗:

public class WhiteDog implements Dog{

@Override
public void speak() {
System.out.print("I am hei wang~");
}
}


黑狗:

public class BlackDog implements Dog {
@Override
public void speak() {
System.out.print("I am bai wang~");
}
}


ok,动物类这边结束,接下来是工厂:

动物工厂,里面有获得猫以及获得狗的方法

public interface AnimalFactory {
Cat getCat();

Dog getDog();
}


然后具体的黑动物工厂:

public class BlackAnimalFactory implements AnimalFactory{
@Override
public Cat getCat() {
return new BlackCat();
}

@Override
public Dog getDog() {
return new BlackDog();
}
}


白动物工厂:

public class WhiteAnimalFactory implements AnimalFactory{
@Override
public Cat getCat() {
return new WhiteCat();
}

@Override
public Dog getDog() {
return new WhiteDog();
}
}


工厂结束,接下来具体实现类:

public class testMain3 {
public static void main(String[] args) {
AnimalFactory animalFactory = new WhiteAnimalFactory();
Cat cat = animalFactory.getCat();
cat.speak();
}
}


OK,Done!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式