设计模式(二) 简单工厂模式

来源:互联网 发布:嵌入式软件开发过程 编辑:程序博客网 时间:2024/04/29 23:13

简单工厂模式(静态工厂方法模式)

定义:定义一个具体的工厂类负责创建一些类的实例。


创建一个食品抽象类Food

public abstract class Food {public abstract void use();}



创建一个小吃类Eat继承Food

public class Eat extends Food {@Overridepublic void use() {System.out.println("This food can eat");}}



创建一个饮料类Drink继承Food

public class Drink extends Food {@Overridepublic void use() {System.out.println("This food can drink");}}


创建一个食品工厂类

public class FoodFactory {public static Food createFood(String foodName){if(foodName.equals("eat")){return new Eat();}else if(foodName.equals("drink")){return new Drink();}else{return null;}}}


测试类:

public class Main {public static void main(String[] args) {Eat e = (Eat) FoodFactory.createFood("eat");e.use();Drink d = (Drink) FoodFactory.createFood("drink");d.use();}}


控制台输出如下:

This food can eat
This food can drink


工厂类的优缺点:

优点:

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

缺点:

静态工厂类负责对所有对象的创建,如果有新对象的增加,不利于后期的维护




0 0
原创粉丝点击