文章目录
简单记录
UML类图 UML基本介绍1、UML—— Unified modeling language UML (统一建模语言),是一种用于软件系统 分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。 2、UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描 述软件模型中的各个元素和他们之间的 关系,比如类、接口、实现、泛化、依赖、组合、聚合等,如图:
UML是一种语言,用来建模的 跟传统的编程语言不一样 它是用一些符号来表示的 用符号来描述一些设计思想 一种用于软件系统分析和设计的语言工具 图形描述 帮助我们进行思考和记录的结果 工具 Rational Rose 画各种类 插件 AmaterasUML 统一建模语言,可以画各种图形,图形可以帮助我们去软件系统设计和分析理解。 UML图UML图 画UML图与写文章差不多,都是把自己的思想描述给别人看,关键在于思路和条理。 UML图分类:
说明: 熟悉地掌握了UML,就好像学会了写字,在现实生活中,会写字不见得会写出好文章。仅仅会写,学会了UML并不一定就分析设计出好的软件系统,灵活的使用. UML类图UML类图用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。 描述类和类之间的关系 类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合
类图怎么画呢? 代码形式 --> 类图 类名 属性 方法 类和类之间到底是什么关系?怎么画?这是一个问题. 类图—依赖关系(Dependence) 只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编绎都通过不了。
小结 依赖关系 A类用到了B类 ,A依赖于B, 没有B,A编译也通过不了 类图—泛化关系(generalization)泛化关系实际上就是继承关系,他是依赖关系的特例。
A类继承了B类,泛化关系就是继承关系 , A类继承了B类也相当于A类用到了B类, 泛化关系是依赖关系的特例。 类图—实现关系(Implementation)实现关系实际上就是A类实现B接口,他是依赖关系的特例.
PersonServiceBean实现了PersonService这个接口 实现关系 人与人之间存在关系 但是否存在父子关系什么的 这是特例了 实现关系是依赖关系的特例 ,依赖关系更强 。 =>类图 小结???? 被一个类实现了 ,A类实现B接口 实现关系 类图—关联关系(Association)关联关系实际上就是类与类之间的联系,他是依赖关系的特例 单向一对一关系 public class IDCard{} 一个人一个身份证号 一对一 单向的 一对一 双向一对一关系 public class Person { } 双向一对一关系 一个人一个身份证号 一对一 一个身份证号也对应一个人 关联关系实际上就是类与类之间的联系,是依赖关系的特例。 导航性??双向 单向 多重性??一对一,一对多,多对多 类图—聚合关系(Aggregation)聚合关系(Aggregation)表示的是整体和部分的关系,整体与部分可以分开。聚
computer monitor mouse 计算机包含鼠标、显示器 能不能分开 如果关系是可以分开的,是聚合关系 如果关系是不可以分开的,是组合关系 鼠标是可以分离的,可以插上也可以不插上,电脑没有鼠标还是一个电脑 显示器可以分开 鼠标这个类 显示器这个类 与电脑这个类 他们构成聚合关系 对应类图 小结: 聚合关系表示整体与部分关系,整体与部分可以分开,聚合关系是关联关系的特例,导航性 多重性 谁聚合谁的 A聚合一个B 单聚合 A里面可以聚合多个B 多重聚合 如果我们人Mouse,Monitor和Computer是不可分离的,则升级为组合关系
类图—组合关系(Composition)组合关系:也是整体与部分的关系,但是整体与部分不可以分开。 人不能没有头 可以没有手、脚,没头会死的。 一个人没有身份证,不会死的,可以去补办身份证 Head和Person就是组合, IDCard和Person就是聚合 但是如果在程序中Person实体中定义了对IDCard进行级联删除,即删除Person时连同IDCard一起删除,那么IDCard 和 Person 就是组合了. public class Person{ private IDCard card; 级联删除,一起删了,组合。 关联关系 一个类 成员变量 成员属性 用到另一个类 构成关联关系 聚合关系 整体和部分的关系 你是我的一个什么属性 可以分开 聚合关系 不能分开 组合关系 小结依赖关系 只要是在类中用到了对方,那么他们之间就存在依赖关系 类中用到了对方 如果是类的成员属性 如果是方法的返回类型 是方法接收的参数类型 方法中使用到 虚线 箭头 用到了 泛化关系 泛化关系实际上就是继承关系,他是依赖关系的特例。 如果A类继承了B类,我们就说A和B存在泛化关系 空心三角形 实线 实现关系 实现关系实际上就是A类实现B接口,他是依赖关系的特例. 空心的三角形 虚线 关联关系 类与类之间的关系,他是依赖关系的特例. 导航性 多重性 单向一对一 双向一对一 你用到我 我用到你 聚合关系 聚合关系表示的是整体和部分的关系,整体与部分可以分开. 聚合关系是关联关系的特例,所以他具有关联的导航性与多重性. Person Head Person IDCard 组合 聚合 菱形实心空心 创建 删除 级联的 组合关系 类图 关系 不同表示 画 依赖 泛化 实现 关联 聚合 组合 方法陆游和卖油翁 陆游的忠告 《冬夜读书示子聿》 渐若窥宏大 工夫在诗外 纸上得来终觉浅,绝知此事要躬行 卖油翁 卖油翁 我亦无他,惟手熟尔。 书到用时方恨少,事非经过不知难。 知 行 参考资料1、图解Java设计模式-尚硅谷_韩顺平 |
|