全部博文(584)
分类: 嵌入式
2011-02-20 16:02:06
4.1 类 和 对 象
首先考察一下日常生活中常见的交通工具——小汽车。比如我们常见到的小汽车有
桑塔拉、富康、丰田、夏利等,不管它是什么型号、哪个厂家生产
的车,我们使用它的主要目的是以车代步,迅速便捷。因此,任何车一定要有启动、驱动车轮滚动(行驶)和制动的功能。小汽车除了应有基本的控制行驶的功能
外,每种车的车身长度、颜色、底盘高低、汽缸容量等方面可能不太一致,汽车厂商可以根据用户的需要选定。于是,就小汽车而言,用户便有了多种选择,买桑塔
拉也行,买丰田也行,只要价格用户能够承受(这里简化了汽车的某些因素)。桑塔拉是小汽车中的一种车型,桑塔拉与小汽车的关系,我们可以抽象为对象与类的
关系,即作为小汽车类产品它应提供的功能至少有:启动、行驶、制动,对汽车的车身长度,汽缸容量等也有一定的要求。在符合小汽车类应有的功能和特征的前提
下,具体生产出来的车型(比如:夏利、丰田等)则是该类的对象。其实,自然界中存在的事物大都具有类与对象的关系,于是,我们可以借用自然界中的类与对象
的表示方法,在计算机的软件系统中实现类与对象,从而达到利用对象在计算机系统中表示事务、处理事务的目的。
所谓对象就是可以控制和操作的实体,它可以是一个设备,一个组织或一个商务。类
是对象的抽象描述,它包括属性的描述和行为的描述二方面。属
性描述类的基本特征(比如,车身的长度、颜色等);行为描述类具有的功能(比如汽车有启动、行驶、制动等功能),也就是对该类的对象可以进行哪些操作。就
像程序设计语言中整型变量是整数类型的具体化,用户可以对整型变量进行操作(并不是对整数类型操作)一样,对象是类的实例化,所有的操作都是针对对象进行
的。
在计算机系统中,我们用类表示系统,并把现实世界中我们能够识别的对象分类表示,这种处理方式称作面向对象。由于面向对象的思想与现实世界中的事物的表示方式相似,所以采用面向对象的思想建造模型会给建模者带来很多好处。
当建模者建造一个商务系统、信息系统或其它系统的时候,如果用于描述模型的一些
概念与问题域中的概念一致,那么这个模型就易于理解,易于交
流。比如为保险公司的业务系统建模,那么一定要使用保险业务中的概念,否则,很难将对象之间的业务关系描述清楚。把系统建立在某个商务的基本概念之上的另
一个重要原因是:易于维护系统。因为当新的法规、政策、条款等出台后,建模者必须重新建模使之适应新的变化,由于模型是建立在对象基础上,所以修改模型并
不费力,只要把新商务与旧商务之间的不同之处重新设计描述一下即可,其它地方并不需要修改或调整。由此也可以看出,以面向对象方式建造的模型,由于建造在
真实世界的基本概念上,与真实世界非常接近,使得该模型易于交流,易于验证(检查功能需求),易于维护。反过来说,在各种不同的建模方法中(比如,面向对
象、面向过程、面向数据),若模型需要反映真实世界中问题域的基本概念,那么面向对象的方法是最好的选择。
构建面向对象模型的基础是类、对象和它们之间的关系。可以在任何类型的系统中(比
如,嵌入式实时系统、分布系统、商务软件等)应用面向对象
技术。在不同的系统中描述的类可以各种各样。比如:在某个商务信息系统中,可以包含的类有:顾客、协议书、发票、债务、资产、报价单;在工程技术系统中,
常常会用到一些设备,该系统中则可以有这些类:传感器、显示器、I/O
卡、发动机、按钮、控制类;在类似操作系统的软件系统中,类用来表示软件中的实体,可能有的类是:文件、执行程序、设备、图标、窗口、滚动条等。