您的位置:首页 > 其它

设计模式前篇——对象关系及UML类图符号

2018-01-20 19:33 465 查看


1、综述类之间的关系:

UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition)等。


2.关系简述:

依赖:一个类A中的某个方法参数为另一个类B,则认为A 依赖B

泛化:类的继承关系  , A extends B 

实现:实现类和接口关系,A implements B

关联:一个类作为另一个类的属性而存在  A: - b:B ( 表示private B b;)

      单向关联:

      双向关联:两个类互为对方的属性

      自关联:一个类的属性为其自身,比如常见的 单例模式的 单例属性,比如 链表数据结构

      多重关联:一个类中包含另一个类的集合属性

组合:关联关系的一种,强关联关系,即拥有关系,不能单独存在,比如 人和头颈躯干肢体的关系,创建人的同时,必须同时创建 头颈躯干和四肢,生命周期 同生共死

聚合:关联关系的一种,弱关联关系,即包含关系,部分可单独存在, 比如汽车和 引擎的关系,引擎engine 实例可以在其他地方被new出来,作为汽车的构造器或者方法参数

多重关联关系:

[align=center]表示方式[/align]

[align=center]多重性说明[/align]

[align=center]1..1[/align]
表示另一个类的一个对象只与该类的一个对象有关系
[align=center]0..*[/align]
表示另一个类的一个对象与该类的零个或多个对象有关系
[align=center]1..*[/align]
表示另一个类的一个对象与该类的一个或多个对象有关系
[align=center]0..1[/align]
表示另一个类的一个对象没有或只与该类的一个对象有关系
[align=center]m..n[/align]
表示另一个类的一个对象与该类最少m,最多n个对象有关系 (m≤n)
例如:一个界面(Form)可以拥有零个或多个按钮(Button),但是一个按钮只能属于一个界面,因此,一个Form类的对象可以与零个或多个Button类的对象相关联,但一个Button类的对象只能与一个Form类的对象关联,如图所示:



 

聚合关系示例:

 

组合关系示例:

 


3.UML类图综合关系



参考:

UML边看边记 之 类与类之间的关系

http://blog.csdn.net/fan2012huan/article/details/51511124 

UML类图符号以及各种关系

http://blog.csdn.net/Jalon2015/article/details/51003521 

《大话设计模式》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式 UML 类关系