您的位置:首页 > 其它

设计模式03:抽象工厂

2017-05-02 19:38 411 查看
抽象工厂使用抽象类(或者接口)来定义某一类工厂的行为。UML图如下:



适用OrangeFoodFactory来创建橙色的食物:

public class OrangeFoodFactory implements AbstractFactory {
@Override
public Fruit getFruit() {
Fruit fruit =new Orange();//获取橙色的橘子
return fruit;
}

@Override
public Vegetables getVegetables() {
Vegetables vegetables=new Cattor();//获取橙色的胡萝卜
return vegetables;
}
}


使用RedFoodFactory来创建红色的食物:

public class RedFoodFactory implements AbstractFactory {

@Override
public Fruit getFruit() {
Fruit fruit =new Apple();
return fruit;
}

@Override
public Vegetables getVegetables() {
Vegetables vegetables=new Tomato();
return vegetables;
}
}


抽象类中定义了水果和蔬菜的获取方法

public interface AbstractFactory {
public Fruit getFruit();//获取水果
public Vegetables getVegetables();//获取蔬菜
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: