UML图——类图与对象图(机房收费系统)
2016-01-02 21:11
309 查看
前言:
这段时间大家学习UML的热情高涨,某天晚上的头脑风暴开得很激烈,觉得自己在学习UML的时候没有学的很深入,跟大家一起讨论后才发现自己有许多忽略的东西,学过的 知识总是要总结整理一下,才会有印象,不然就会像蜻蜓点水一样,不留痕迹,学习就变得没有意义了,要让自己的所学有所获。没有总结,只是没有积累与沉淀,一切都说起来太虚幻了,下面就让我来整理一下,希望大家多多提意见。正文:
1.概念
类(Class):具有相同方法和属性的一组对象的集合,仅仅是对对象的抽象概念,并不真实存在,提供很好的封装性,在某种可见性上实现了对象的属性和方法的保护,并且一个类可以泛化多个对象实例,提高了代码的重用性,这是面向对象(OO)编程思想的重要体现。类图(Class Diagram):描述类(class)、接口(InterFace)、协作(Collaboration)以及他们之间关系的图,反映了系统中各种对象的类型及对象之间的各种静态关系。
对象(Object):对象大多对应于真实世界中的某个客观实体,可以说万物皆对象。
对象图(Object Diagram):表示一组对象及它们之间的关系,是某一时刻系统详细信息的快照,描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。因为对象是类的实例化,所以说某一时刻系统中的某一类中的某一个对象和另一类中某一个对象之间的关系就可以说是对象图,表示类图的一个实例。
2.组成及表示
(1)类图(Class Diagram)
图符:
(2)对象图(Object Diagram)
图符:
3.类图之间的关系
关联 (Association)泛化 (Generalization))
依赖(Dependency)
其他关系:聚合(Aggregation)、组合(Composition)、实现(Implementation)
关于这几种关系的详述,请参考后续博客。
4.对象图中的链(Link)
链是两个对象或多个对象之间的独立连接,是关联的实例;链在图形上使用一条不带箭头的实线表示:
5. 类图和对象图的比较
ps:之前自己一直认为对象图和类图之间是整体和部分那种包含关系,慢慢发现这是不对的,类有的对象一定有,对象有的类不一定有,他们之间是继承/泛化的关系,对于这个的理解最重要归于对象和类的定义,类是对对象的共有属性的抽象描述。
总结:
对象图(Object Diagram)和类图(Class Diagram)是面向对象(OO)思想很好的体现。在软件设计的初始阶段就要用到类图,类图是面向对象系统建模中最常用的图,是其它图的基础;验收时师傅说类图可以生成代码框架,有的可以拿来用作类,有得无关紧要就不能看作类,对于类的筛选和鉴定一定要在项目需求分析阶段就搞清楚,随着开发工作的进行,在后期设计、实现阶段会有更为详细的补充。相关文章推荐
- android131 360 02 设置中心
- 如何取得从1970年1月1日0时0分0秒到现在的毫秒数?
- 动态库的加载
- 导航控制器的知识总结
- MFC控件 text编辑
- 非对称加解密——RSA加密、解密以及数字签名
- css中position定位
- 高手复盘手记:如何判断一个题材或者利好到底有多大
- Java的socket服务UDP协议
- CentOS 6.7安装Java JDK
- tree(简单并差集)
- 泛型的使用
- Lua语法学习笔记
- java enum 常量相关方法记录
- sicily 1154. Easy sort
- Python的栈
- C++ #include—尖括号和双引号的区别
- 常见的项目文件
- getElementsByName 为什么不起作用(长度为0)
- java基础之static(静态)