导图 |
面向对象 |
【面向对象和面向过程的区别】
面向对象:
①抽象----抽象出有哪些对象,进而得出有哪些类;
②封装-----对用户隐藏实现过程,将其封装成一个整体,只留接口;
形象一点阐述就是:面向对象就是着眼于事物,关注点在于事物的功能,是为了描叙某个事物在整个解决问题的步骤中的行为。
eg: 机房收费系统这个项目,关注点在于这个项目上,(项目开发规则,项目开发人员的行为,项目经理的行为等等)关注的都在涉及这个项目的对象的整个过程中的行为上。
面向过程:
以过程为中心
就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
形象一点阐述就是:面向过程就是着眼于事物的过程,具有顺序性,按步骤一步一步执行,关注点在每一个步骤的实现,每一个步骤的操作(方法)
eg: 机房收费系统这个项目,关注点在做项目的过程,(先分析需求,然后进行可行性分析,代码编写,代码调试,代码维护,等等)关注点在于这些各个不同的过程的实现。
【面向对象的三个特性】
多态性:
同一个命令,但是不同的对象收到该命令,产生的行为不同(多种状态)
继承性:
继承到父类的属性和方法
封装性
封装成一个整体,实现信息隐藏
【面向对象的应用】
针对上图,利用面向对象的思路进行分析:
认准有哪些类,联系,方法(对类进行抽象,找到其中对应的关系,操作方法进行分析。)
UML的构成 |
结构事物 | 行为事物 | 分组事物 | 助记事物 |
---|---|---|---|
Class | Interaction | Package | Notes |
Interface | State Mechanism | ||
Collaboration(协作) | |||
Use Case | |||
Active Class | |||
Components(构件) | |||
Nodes(节点) |
关系:
关联(Association)
依赖(Dependency)
泛化(Generalization)
实现(Realization)
表示方法如下:
UML建模 |
建模原则
? 选择建立什么样的模型对如何发现和解决问题具有重要影响
? 每个模型可以有多种表达方式
?最好的模型总是能够切合实际
? 孤立的模型是不完整的
建模工具
Rational Rose
StarUML
UML图 |
use case diagram(用例图)
class diagram(类图)
object diagram(对象图)
state diagram(状态图)
component diagram(构件图)
deployment diagram(部署图)
collaboration diagram(协作图)
sequence diagram(序列图)
activity diagram(活动图)
其中序列图和协同图可以合称为交互图