UML面向对象入门指导

开发 架构
你对UML面向对象的概念是否了解,对象(Object)是面向对象的基本构造单元.是一些变量和方法的集合,用于模拟实现世界中的一些事物模型.

本文和大家重点讨论一下UML面向对象的概念,面向对象"什么做什么"与面向过程"做什么"最大的区别在于,面向对象的重点在于谁发出了什么命令,而面向过程只关心一个命令。

UML面向对象知识入门

1、什么是对象

对象(Object)是面向对象的基本构造单元.是一些变量和方法的集合,用于模拟实现世界中的一些事物模型.如一台电脑,一个人,一间房子等.当然也可以模拟一些虚拟的东西,比如一个学号,一个编号,一个院系等.

2、UML面向对象与面向过程的区别

面向对象"什么做什么"与面向过程"做什么"最大的区别在于,面向对象的重点在于谁发出了什么命令,而面向过程只关心一个命令.
面向对象以对象为基础,以事件或消息驱动对象执行处理.它不像面向过程设计一样以函数为单元,在一开始就需要使用一个主函数,来概适整个程序,像向对象是以部分着手,去构建整个程序.面向对象以数据为中心,使用类作为表现数据的载体,面向过程以功能为中心来捞述程序.UML面向对象的程序控制流程以事件或消息来驱动,而面向过程的程序则是以事先预定的程序来执行.所以当需求变化很大的时候,面向过程的程序往往需要重构大部分甚至所有代码,而面向对象则可以轻构解决.

3、对象与类

类是对象集合的再抽像,对象是类的实例.可以用一个简单的例子来说明.把中国人当成是一个类,那么你我都是这个类的一个实例.你我等这些中国人的集合抽像成了中国人这个类.中国人是一个虚的概念,而你我是一个实实在在的个体.

4、消息和事件

消息是对象与对象之间相互作用的方式.消息一般包括消息的发送对象,消息的接收对象,消息的传递方式,消息的内容,消息的返回五部分组成.
比如张三对李四说:今天我们来喝一杯.
事件是系统预先定义的,通过指定的条件触发的动作.
比如我打一下你的头,你头痛了.这里我通过"打"这个行为来传递了一个消息对你产生了作用,你触法了"痛"这个事件.

5、UML面向对象的基本特征

抽象:将要描述的事物进行简化,将事物特征进行概括,以事物层次结构来组织模型.
比如:狗.我们在软件中不可能把狗的所有信息都描述出来,我们把它简化为有四条腿,一个头,一个尾巴,还有一个躯杆.这样我们就像画画一样画出了一个抽象的模型图.然后对它的特征进行概括,比如它会叫,会吃,会走.然后狗还分哈巴狗,狼狗等很多种.所以这里又分出了狗的层次.

封装:将对象的状态和行为绑到一起,并且尽可能的隐藏对象的内部细节.
比如:一台电视机,它的所有特征和内部结构都封装起来,我们不需要知道它的内部原理是怎么的,我们只需要知道怎么打开它,怎么换台就够了.

继承:继承是反映客观世界中对象的层次关系.正如上面狗的例子中,我们的狼狗,哈巴狗都继承自一个虚拟的狗的概念中.继承在很大程度上简化了我们的工作,也清淅的展示出了对象的层次关系.

多态:多态是指两个或多个属于不同类的对象,对于同一个消息或方法调用做出不同响应的能力..
比如:当我们手上拿一个蓝球的时候,我们说:走,打球.对方就能清楚的理解我们指的打球是指打蓝球或不是足球,乒乓球。
 

【编辑推荐】

  1. 实例解析UML面向对象技术
  2. 深入剖析UML面向对象软件开发过程
  3. 学习笔记 基于UML面向对象的设计
  4. 整洁的UML图如何绘制?
  5. UML面向对象建模知识简介 

 

责任编辑:佚名 来源: cnblogs.com
相关推荐

2009-06-26 13:29:11

面向对象

2010-07-05 15:39:53

NetBeans UM

2010-06-18 10:34:05

UML面向对象

2010-06-17 18:17:36

UML面向对象技术

2010-06-18 17:49:34

UML面向对象技术

2010-06-29 18:58:23

UML面向对象技术

2009-06-26 13:56:20

UML面向对象建模

2010-06-12 15:52:18

面向对象UML技术

2010-06-13 10:01:48

面向对象技术与UML

2010-07-09 16:45:26

UML面向对象

2010-06-13 17:48:36

UML面向对象建模

2010-07-08 10:47:42

UML面向对象

2010-06-17 17:57:10

UML面向对象分析与设

2010-06-18 11:28:14

2010-06-10 10:03:42

UML面向对象

2010-07-08 13:35:39

UML面向对象

2020-10-10 11:03:24

面向对象编程语言开发

2010-06-13 10:19:24

面向对象技术与UML

2010-07-16 17:23:57

Perl面向对象编程

2009-06-26 13:38:46

UML面向对象
点赞
收藏

51CTO技术栈公众号