Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1632887
  • 博文数量: 584
  • 博客积分: 13857
  • 博客等级: 上将
  • 技术积分: 11883
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 09:34

分类: 嵌入式

2011-02-20 16:02:06

用面向对象的方法处理实际问题时,需要建立面向对象的模型。构成面向对象模型的
基本元素有类(class)对象(objects)、类与类之间的关系等等。用面向对象的思想描述问题,能够把复杂的系统简单化、直观化,而且易于用面向对象语言编程实现,还方便日后对系统的维护工作。本章主要讨论类、类图、对象、对象图、类与类之间的关系等基本概念。

4.1 类 和 对 象

首先考察一下日常生活中常见的交通工具——小汽车。比如我们常见到的小汽车有
桑塔拉、富康、丰田、夏利等,不管它是什么型号、哪个厂家生产 的车,我们使用它的主要目的是以车代步,迅速便捷。因此,任何车一定要有启动、驱动车轮滚动(行驶)和制动的功能。小汽车除了应有基本的控制行驶的功能 外,每种车的车身长度、颜色、底盘高低、汽缸容量等方面可能不太一致,汽车厂商可以根据用户的需要选定。于是,就小汽车而言,用户便有了多种选择,买桑塔 拉也行,买丰田也行,只要价格用户能够承受(这里简化了汽车的某些因素)。桑塔拉是小汽车中的一种车型,桑塔拉与小汽车的关系,我们可以抽象为对象与类的 关系,即作为小汽车类产品它应提供的功能至少有:启动、行驶、制动,对汽车的车身长度,汽缸容量等也有一定的要求。在符合小汽车类应有的功能和特征的前提 下,具体生产出来的车型(比如:夏利、丰田等)则是该类的对象。其实,自然界中存在的事物大都具有类与对象的关系,于是,我们可以借用自然界中的类与对象 的表示方法,在计算机的软件系统中实现类与对象,从而达到利用对象在计算机系统中表示事务、处理事务的目的。

所谓对象就是可以控制和操作的实体,它可以是一个设备,一个组织或一个商务。类
是对象的抽象描述,它包括属性的描述和行为的描述二方面。属 性描述类的基本特征(比如,车身的长度、颜色等);行为描述类具有的功能(比如汽车有启动、行驶、制动等功能),也就是对该类的对象可以进行哪些操作。就 像程序设计语言中整型变量是整数类型的具体化,用户可以对整型变量进行操作(并不是对整数类型操作)一样,对象是类的实例化,所有的操作都是针对对象进行 的。

在计算机系统中,我们用类表示系统,并把现实世界中我们能够识别的对象分类表示,这种处理方式称作面向对象。由于面向对象的思想与现实世界中的事物的表示方式相似,所以采用面向对象的思想建造模型会给建模者带来很多好处。

当建模者建造一个商务系统、信息系统或其它系统的时候,如果用于描述模型的一些
概念与问题域中的概念一致,那么这个模型就易于理解,易于交 流。比如为保险公司的业务系统建模,那么一定要使用保险业务中的概念,否则,很难将对象之间的业务关系描述清楚。把系统建立在某个商务的基本概念之上的另 一个重要原因是:易于维护系统。因为当新的法规、政策、条款等出台后,建模者必须重新建模使之适应新的变化,由于模型是建立在对象基础上,所以修改模型并 不费力,只要把新商务与旧商务之间的不同之处重新设计描述一下即可,其它地方并不需要修改或调整。由此也可以看出,以面向对象方式建造的模型,由于建造在 真实世界的基本概念上,与真实世界非常接近,使得该模型易于交流,易于验证(检查功能需求),易于维护。反过来说,在各种不同的建模方法中(比如,面向对 象、面向过程、面向数据),若模型需要反映真实世界中问题域的基本概念,那么面向对象的方法是最好的选择。

构建面向对象模型的基础是类、对象和它们之间的关系。可以在任何类型的系统中(比
如,嵌入式实时系统、分布系统、商务软件等)应用面向对象 技术。在不同的系统中描述的类可以各种各样。比如:在某个商务信息系统中,可以包含的类有:顾客、协议书、发票、债务、资产、报价单;在工程技术系统中, 常常会用到一些设备,该系统中则可以有这些类:传感器、显示器、I/O 卡、发动机、按钮、控制类;在类似操作系统的软件系统中,类用来表示软件中的实体,可能有的类是:文件、执行程序、设备、图标、窗口、滚动条等。

阅读(1326) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~