首页 > 编程语言 > 详细

工厂模式的C++、Java实现

时间:2017-02-03 20:58:53      阅读:324      评论:0      收藏:0      [点我收藏+]

1、工厂模式UML

技术分享

图1. 工厂模式UML

2、C++实现

  类视图如下:

技术分享

图2. 工厂模式C++实现的类图

   其中,Factory实现为:

 1 //工厂类。
 2 class Factory
 3 {
 4 public:
 5     Factory();
 6     ~Factory();
 7 
 8     //工厂方法。
 9     virtual Product * Create() = 0;
10 };

  ConcreteFactoryA实现为:

 1 //类声明:
 2 class ConcreteFactoryA :
 3     public Factory
 4 {
 5 public:
 6     ConcreteFactoryA();
 7     ~ConcreteFactoryA();
 8 
 9     Product * Create();
10 };
11 
12 //类方法定义
13 Product * ConcreteFactoryA::Create() {
14     ConcreteProductA * cpa = new ConcreteProductA();
15 
16     return cpa;
17 }//end method Create

  ConcreteFactoryB的代码与ConcreteFactoryA的代码相似,不再列出。

 

3、Java实现

  类视图如下:

  技术分享

图3. 工厂模式Java实现的类视图

   其中,Factory实现代码是:

1 //抽象工厂类。
2 public interface Factory {
3 
4     //抽象工厂方法。
5     public Product Create();
6 }//end interface Factory

  ConcreteFactoryA的实现代码是:

 1 //具体工厂类,用于创建ConcreteProductA的对象。
 2 public class ConcreteFactoryA implements Factory {
 3 
 4     @Override
 5     public Product Create() {
 6         // TODO Auto-generated method stub
 7         return new ConcreteProductA();
 8     }//end method Create
 9 
10 }//end class ConcreteFactoryA

  ConcreteFactoryB的代码与ConcreteFactoryA的相似,不再列出。

 

工厂模式的C++、Java实现

原文:http://www.cnblogs.com/minbaba/p/6362710.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!