您的位置:首页 > 其它

设计模式(三) 工厂方法模式

2016-11-05 15:17 281 查看
工厂方法模式

定义:抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现

优缺点:

优点:客户端不需要负责对象的创建,如果有新对象增加,只需要添加具体类和具体工厂类即可

缺点:增加新对象的话,代码量增大

具体代码如下:

食物抽象类:

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


食品类:

public class Eat extends Food {

@Override
public void use() {
System.out.println("This food can eat");
}

}


饮料类:

public class Drink extends Food {

@Override
public void use() {
System.out.println("This food can drink");
}

}


工厂抽象类:

public interface Factory {
public Food createFood();
}


食物工厂类:

public class EatFactory implements Factory {

@Override
public Food createFood() {
return new Eat();
}

}


饮料工厂类:

public class DrinkFactory implements Factory {

@Override
public Food createFood() {
return new Drink();
}

}


测试方法:

public class Main {

public static void main(String[] args) {
EatFactory e = new EatFactory();
DrinkFactory d = new DrinkFactory();
Eat eat = (Eat) e.createFood();
Drink drink = (Drink) d.createFood();
eat.use();
drink.use();
}

}


输出如下:

This food can eat

This food can drink
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: