类与类之间的关系
类与类之间存在以下关系:
(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 组合而成。 类与类的组合关系图
本文针对类之间常用的关系进行了简单的描述,主要有:关联关系、泛化、依赖、聚合和组合。
相关文章
- 公司的诉讼主体如何确定?
- 对民事诉讼法律关系若干问题的再思考
- 家庭关系中的权利义务
- 中国当代家庭关系的变迁:形式.内容及功能
- 中国当代家庭关系的变迁
- 劳动关系.雇佣关系.劳务关系.承揽关系之间的区别与认定
- 高校与学生关系探析
- 外语教学研究中偏相关分析的必要性与SPSS实现
- 社会交换与法律_周安平
法律常识 公司诉讼主体的确定: 一.股东权确权纠纷诉讼当事人的确定 1.如果股东与公司之间发生股东权争议的一般情况下,以股东及公司为诉讼主体,即要求确认其股东资格的股东为原告,公司为被告.如果股东之间.股东与公司以外的第三人之间就股东资格发 ...
作者:蔡彦敏 政治论坛(中国政治大学学报) 2000年10期 中图分类号:DF51 文献标识码:A 文章编号:1000-0208(2000)02-080-07 一.开言 民事诉讼法律关系是我国民事诉讼法学中一个颇为重要的问题.虽然到目前为止 ...
时间:2012-09-03 16:25 我要评论 为您推荐: 权利的游戏第四季全集义乌小商品批发市场权利的游戏第四季义乌天气预报 家庭关系是指基于婚姻.血缘或法律拟制而形成的一定范围的亲属之间的权利和义务关系.家庭关系依据主体为标准可以分为 ...
王跃生 编者的话 家庭关系是基于婚姻.血缘或法律拟制而形成的一定范围的亲属之间的权利和义务关系.对于社会而言,家庭的发生.演变,既塑造社会的经济.文化和伦理格局,又受其影响和制约.传统的家庭,既是生活单元又是生产单元,现代家庭生产的意义淡化 ...
中国当代家庭关系的变迁:形式.内容及功能 2013-09-25 10:23 来源: 人民论坛(总第413期) 作者: 王跃生 核心提示: 中国当代家庭关系伴随着社会变革和制度演变发生了重要变动,家庭成员平等的局面基本形成.以亲子关系为主导的 ...
第一讲:劳动关系的认定(一) --劳动关系.劳务关系.雇佣关系.承揽关系的区别 一.劳务关系与雇佣关系 二.劳动关系与劳务关系 三.劳动关系与雇佣关系 四.雇佣关系与承揽关系 一.劳务关系与雇佣关系 (理论上两者有差别雇佣关系强调‚受雇‛ ...
摘 要: 随着社会变革的不断进行,高校的地位发生了巨大的变化,其与学生之间的关系也从单一类型向多维扩展.正确界定高校与学生之间的关系,区分不同关系下两者身份.地位的变化,既有利于推进高校管理工作的顺利进行,又有利于实现对学生合法权益的维护. ...
外语教学研究中偏相关分析的必要性与SPSS实现 石志亮 (中原工学院 河南郑州 450007) [摘 要]本文通过实例指出了简单相关分析的不足,并着重阐述了进的相关关系是错综复杂的,但很多变量之间都有简单相关关系,如 果我们进一步观察,就会 ...
法制与社会发展(双月刊)2012年第2期(总第104期) 社会交换与法律 周安平 (南京大学法学院,江苏南京210093) 摘要:社会关系本质上是人与人之间交换的关系.人际交换的关系在形式上表现为契约的交换和非 契约的交换,两者在交换的主体 ...