类与类之间的关系

类与类之间存在以下关系:

(1)泛化(Generalization)

(2)关联(Association)

(3)依赖(Dependency)

(4)聚合(Aggregation)

1. 泛化(Generalization)

[泛化]

表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。

父类 父类实例=new 子类()

[UML图](图

1.1)

2. 依赖(Dependency)

[依赖]

对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。

依赖关系表现在局部变量,方法的参数,以及对静态方法的调用

[现实例子]

比如说你要去拧螺丝,你是不是要借助(也就是依赖) 螺丝刀(Screwdriver)来帮助你完成拧螺

丝(screw)的工作

[UML表现](图

1.2)

3. 关联(Association) [关联] 对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。 [具体表现] 关联关系是使用实例变量来实现 [现实例子] 比如客

3. 关联(Association)

[关联]

对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。

[具体表现]

关联关系是使用实例变量来实现

[现实例子]

比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司

[UML图] (图

1.3)

(4)聚合(Aggregation )

[聚合]

当对象A 被加入到对象B 中,成为对象B 的组成部分时,对象B 和对象A 之间为聚集关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。

[具体表现]

与关联关系一样,聚合关系也是通过实例变量来实现这样关系的。关联关系和聚合关系来语

法上是没办法区分的,从语义上才能更好的区分两者的区别。

[关联与聚合的区别]

(1)关联关系所涉及的两个对象是处在同一个层次上的。比如人和自行车就是一种关联关系,而不是聚合关系,因为人不是由自行车组成的。

聚合关系涉及的两个对象处于不平等的层次上,一个代表整体,一个代表部分。比如电脑和它的显示器、键盘、主板以及内存就是聚集关系,因为主板是电脑的组成部分。

(2)对于具有聚集关系(尤其是强聚集关系)的两个对象,整体对象会制约它的组成对象的生命周期。部分类的对象不能单独存在,它的生命周期依赖于整体类的对象的生命周期,当整体消失,部分也就随之消失。比如张三的电脑被偷了,那么电脑的所有组件也不存在了,除非张三事先把一些电脑的组件(比如硬盘和内存)拆了下来。

[UML图](图

1.4)

类与类之间的关系图(Class Diagram,UML图)

关联(Association)

两个相对独立的对象,当一个对象的实例与另外一个对象的特定实例存在固定关系时,这两个对象之间就存在关联关系。

1、单向关联

A1->A2: 表示A1认识A2,A1知道A2的存在,A1可以调用A2中的方法和属性 场景:订单和商品,订单中包括商品,但是商品并不了解订单的存在。

类与类之间的单向关联图

:

2、双向关联

B1-B2: 表示B1认识B2,B1知道B2的存在,B1可以调用B2中的方法和属性;同样B2也知道B1的存在,B2也可以调用B1的方法和属性。

场景:订单和客户,订单属于客户,客户拥有一些特定的订单

3、自身关联

同一个类对象之间的关联

类与类之间自身关联图

4、多维关联(N-ary Association)

多个对象之间存在关联

场景:公司雇用员工,同时公司需要支付工资给员工

类与类之间的多维关联图:

5、泛化(Generalization)

类与类的继承关系,类与接口的实现关系。

场景:父与子、动物与人、植物与树、系统使用者与B2C 会员和B2E 会员的关系 类与类之间的泛化图:

6、依赖(Dependency)

类A 要完成某个功能必须引用类B ,则A 与B 存在依赖关系,依赖关系是弱的关联关系。

场景:

本来人与电脑没有关系的,但由于偶然的机会,人需要用电脑写程序,这时候人就依赖于电脑。

类与类的依赖关系图

在程序中一般为using 引用。

7、聚合(Aggregation)

当对象A 被加入到对象B 中,成为对象B 的组成部分时,对象B 和对象A 之间为聚合关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。 场景:商品和他的规格、样式就是聚合关系。

类与类的聚合关系图

8、组合(Composite )

对象A 包含对象B ,对象B 离开对象A 没有实际意义。是一种更强的关联关系。人包含手,手离开人的躯体就失去了它应有的作用。

场景:Window 窗体由滑动条slider 、头部Header 和工作区Panel 组合而成。 类与类的组合关系图

本文针对类之间常用的关系进行了简单的描述,主要有:关联关系、泛化、依赖、聚合和组合。

类与类之间存在以下关系:

(1)泛化(Generalization)

(2)关联(Association)

(3)依赖(Dependency)

(4)聚合(Aggregation)

1. 泛化(Generalization)

[泛化]

表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。

父类 父类实例=new 子类()

[UML图](图

1.1)

2. 依赖(Dependency)

[依赖]

对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。

依赖关系表现在局部变量,方法的参数,以及对静态方法的调用

[现实例子]

比如说你要去拧螺丝,你是不是要借助(也就是依赖) 螺丝刀(Screwdriver)来帮助你完成拧螺

丝(screw)的工作

[UML表现](图

1.2)

3. 关联(Association) [关联] 对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。 [具体表现] 关联关系是使用实例变量来实现 [现实例子] 比如客

3. 关联(Association)

[关联]

对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。

[具体表现]

关联关系是使用实例变量来实现

[现实例子]

比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司

[UML图] (图

1.3)

(4)聚合(Aggregation )

[聚合]

当对象A 被加入到对象B 中,成为对象B 的组成部分时,对象B 和对象A 之间为聚集关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。

[具体表现]

与关联关系一样,聚合关系也是通过实例变量来实现这样关系的。关联关系和聚合关系来语

法上是没办法区分的,从语义上才能更好的区分两者的区别。

[关联与聚合的区别]

(1)关联关系所涉及的两个对象是处在同一个层次上的。比如人和自行车就是一种关联关系,而不是聚合关系,因为人不是由自行车组成的。

聚合关系涉及的两个对象处于不平等的层次上,一个代表整体,一个代表部分。比如电脑和它的显示器、键盘、主板以及内存就是聚集关系,因为主板是电脑的组成部分。

(2)对于具有聚集关系(尤其是强聚集关系)的两个对象,整体对象会制约它的组成对象的生命周期。部分类的对象不能单独存在,它的生命周期依赖于整体类的对象的生命周期,当整体消失,部分也就随之消失。比如张三的电脑被偷了,那么电脑的所有组件也不存在了,除非张三事先把一些电脑的组件(比如硬盘和内存)拆了下来。

[UML图](图

1.4)

类与类之间的关系图(Class Diagram,UML图)

关联(Association)

两个相对独立的对象,当一个对象的实例与另外一个对象的特定实例存在固定关系时,这两个对象之间就存在关联关系。

1、单向关联

A1->A2: 表示A1认识A2,A1知道A2的存在,A1可以调用A2中的方法和属性 场景:订单和商品,订单中包括商品,但是商品并不了解订单的存在。

类与类之间的单向关联图

:

2、双向关联

B1-B2: 表示B1认识B2,B1知道B2的存在,B1可以调用B2中的方法和属性;同样B2也知道B1的存在,B2也可以调用B1的方法和属性。

场景:订单和客户,订单属于客户,客户拥有一些特定的订单

3、自身关联

同一个类对象之间的关联

类与类之间自身关联图

4、多维关联(N-ary Association)

多个对象之间存在关联

场景:公司雇用员工,同时公司需要支付工资给员工

类与类之间的多维关联图:

5、泛化(Generalization)

类与类的继承关系,类与接口的实现关系。

场景:父与子、动物与人、植物与树、系统使用者与B2C 会员和B2E 会员的关系 类与类之间的泛化图:

6、依赖(Dependency)

类A 要完成某个功能必须引用类B ,则A 与B 存在依赖关系,依赖关系是弱的关联关系。

场景:

本来人与电脑没有关系的,但由于偶然的机会,人需要用电脑写程序,这时候人就依赖于电脑。

类与类的依赖关系图

在程序中一般为using 引用。

7、聚合(Aggregation)

当对象A 被加入到对象B 中,成为对象B 的组成部分时,对象B 和对象A 之间为聚合关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。 场景:商品和他的规格、样式就是聚合关系。

类与类的聚合关系图

8、组合(Composite )

对象A 包含对象B ,对象B 离开对象A 没有实际意义。是一种更强的关联关系。人包含手,手离开人的躯体就失去了它应有的作用。

场景:Window 窗体由滑动条slider 、头部Header 和工作区Panel 组合而成。 类与类的组合关系图

本文针对类之间常用的关系进行了简单的描述,主要有:关联关系、泛化、依赖、聚合和组合。


相关文章

  • 公司的诉讼主体如何确定?
  • 法律常识 公司诉讼主体的确定: 一.股东权确权纠纷诉讼当事人的确定 1.如果股东与公司之间发生股东权争议的一般情况下,以股东及公司为诉讼主体,即要求确认其股东资格的股东为原告,公司为被告.如果股东之间.股东与公司以外的第三人之间就股东资格发 ...查看


  • 对民事诉讼法律关系若干问题的再思考
  • 作者:蔡彦敏 政治论坛(中国政治大学学报) 2000年10期 中图分类号:DF51 文献标识码:A 文章编号:1000-0208(2000)02-080-07 一.开言 民事诉讼法律关系是我国民事诉讼法学中一个颇为重要的问题.虽然到目前为止 ...查看


  • 生态伦理学 1
  • 生态伦理学的困境与出路 姓名:李盼君 班级:11自动化 学号:1120301038 生态伦理学的困境与出路 一.人理与物理的冲突:确立人与自然之间伦理关系的理论障碍 所谓伦理就是人们相处之中的道德准则.因此,在某种意义上说,所谓伦理就是&q ...查看


  • 关联方披露
  • 关联方披露 第一节 关联方披露概述 关联方关系及其交易的披露,有助于会计信息使用者了解企业真实的财务状况和经营成果.<企业会计准则第36号--关联方披露>(以下简称关联方披露准则),规范了关联方关系及其交易的披露.关联方一般是指 ...查看


  • 关于历史上的民族关系问题
  • 关于历史上的民族关系问题 我国是一个多民族的国家,各民族之间的关系是我国几千年历史发展过程的一个基本内容和重要线索.各民族关系也是十分复杂的,几乎包括了政治.经济.文化.社会.各民族族体的各方面,一部中国民族史,在某种意义上说,就是中国各民 ...查看


  • 家庭关系中的权利义务
  • 时间:2012-09-03 16:25 我要评论 为您推荐: 权利的游戏第四季全集义乌小商品批发市场权利的游戏第四季义乌天气预报 家庭关系是指基于婚姻.血缘或法律拟制而形成的一定范围的亲属之间的权利和义务关系.家庭关系依据主体为标准可以分为 ...查看


  • 人教版高中数学必修3变量之间的相关关系教案
  • 2.3.1变量之间的相关关系 一.教学任务分析: (1)通过具体示例引导学生考察变量之间的关系,在讨论的过程中认识现实世界中存在着不能用函数模型描述的变量关系,从而体会研究变量之间的相关关系的重要性. (2) 通过收集现实问题中两个有关联变 ...查看


  • 中国当代家庭关系的变迁:形式.内容及功能
  • 王跃生 编者的话 家庭关系是基于婚姻.血缘或法律拟制而形成的一定范围的亲属之间的权利和义务关系.对于社会而言,家庭的发生.演变,既塑造社会的经济.文化和伦理格局,又受其影响和制约.传统的家庭,既是生活单元又是生产单元,现代家庭生产的意义淡化 ...查看


  • 中国当代家庭关系的变迁
  • 中国当代家庭关系的变迁:形式.内容及功能 2013-09-25 10:23 来源: 人民论坛(总第413期) 作者: 王跃生 核心提示: 中国当代家庭关系伴随着社会变革和制度演变发生了重要变动,家庭成员平等的局面基本形成.以亲子关系为主导的 ...查看


热门内容