首页 > 编程语言 > 详细

建模语言的概念 与编程语言概念对应关系(入门必读)

时间:2015-06-26 11:00:30      阅读:241      评论:0      收藏:0      [点我收藏+]


1. 泛化(Generalization)

  在c++中对应继承,如B是A的泛化,在C++中表现为:

<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B : public A</span>
{
  <span style="font-family: Arial, Helvetica, sans-serif;">    public:</span>
<span style="white-space:pre">	</span>B() {}
	virtual ~B() {
	}
}


2.实现(Realization)

  在C++中对应,对应是虚拟函数的概念,如B实现了A,是实现了A中虚拟函数的具体功能(接口),在C++中表现:

class A
{
    public:
	A() {}
	virtual ~A() {}
	virtual void fun(int x,int y) =0;

};
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B : public A</span>
{
  <span style="font-family: Arial, Helvetica, sans-serif;">    public:</span>
<span>	</span>B() {}
	virtual ~B() {}
<pre name="code" class="cpp"><span style="white-space:pre">	</span>virtual void fun(int x,int y);

}


3.关联(Associate)
是一种伙伴关系,如B关联了A, B知道A的属性与方法(B可以使用A的属性与方法),在C++中对应 方法的参数:
<pre name="code" class="cpp"><pre name="code" class="cpp">class B {
      public:
	B() {}
	virtual ~B() {}
	void fun(A *m_A);
}





4.聚合关系(Aggregation)
是整体与个体的关系,是一种联合国样式的组织,是一种弱包含,每个个体都可以独立存在。在C++中对应的属性生命周期的概念聚合关系中,个体的生命周期不归整体掌控。
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B </span>
{
  <span style="font-family: Arial, Helvetica, sans-serif;">    public:</span>
<span>	</span>B() {}
	virtual ~B() {}
<span>	</span>A *m_A;
}


在具体实现中,A的个体在B之外生成,在适当的时候把个体以指针的形式传递给B即可。


5.组合关系(Composition)
是整体与个体的关系,是一种同生共死的组织,是一种强包含,每个个体都不可以独立存在。在C++中对应的属性生命周期的概念组合关系中,个体的生命周期归整体掌控。
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B </span>
{
  <span style="font-family: Arial, Helvetica, sans-serif;">    public:</span>
<span>	</span>B() {}
	virtual ~B() {}
<span>	</span>A m_A;
}

在具体实现中也可以用指针,这时候要注意B要掌管A的生死即可



建模语言的概念 与编程语言概念对应关系(入门必读)

原文:http://blog.csdn.net/hitzjm/article/details/46645631

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