。这里,所谓的消息就是一个对象与另一个对象的通信单元,是要求某一个对象执行类中定义的某个操作的规格说明。发送给一个对象的消息定义了一个操作名和一个参数表(可能是空的),并指定某一个对象。而由一个对象接收的消息则调用消息中指定的操作,并将形式参数与参数表中相应的值结合起来。接收对象对消息的处理可以会改变对象中的状态,即改变界说对象的属性,并发送一个消息给自己或另一个对象。可以认为,这种消息的传递大致等价传统开发方法中的函数调用,但执行操作的目的是想修改相关的对象的内部状态。
对象可以是物理对象,还可以是任一类概念实体的实例。比如桌子是一个实体对象,操作系统中的进程、室内的照明的等级、在一个特定审判中律师的作用也是对象。
3.类(class)
类是一组具有相同数据结构操作的对象的集合。类定义可以视为一个具有类似特性与共同行为的对象的模版,可以来产生对象。在一个类中,每一个对象都是类的实例,它们都可使用类中提供的函数。
4.继承(Inheritance)
继承是使用已存在的定义作为基础建立新定义的技术。新的类的定义可以是既存类所声名的数据和新类所增加的声名的组合。新的类的复用既存的定义,而不要修改既存类。因为这种类的一部分已经实现和测试,故开发费用较少。即存类可当作基本类来引用,则新的类相应的可当作派生类来引用。
5.封装( Encapsulation)
封装是一种组织软件的方法。它的基本思想就是把客观世界中联系紧密的元素及相关操作组织在一起,构造具有独立含义的软件实现,使其相互关系隐藏在内部,而对外仅仅表现为与其他封装体的接口关系。
封装的目的是信息隐藏。不过,信息隐藏是原则,而封装是针对这一原则的实现。
为具体说明这一概念,以下举一个实例。为了定义一辆自行车,首先要定义自行车类,它的属性有framesize(车生尺寸)、wheelsize(车轮尺寸)、gear(齿轮)、material(材料)和brand(牌子)。再定义自行车的操作;shift(变速)、move(移动)、repair(修理)。
BicycleClass:
Attributes:
framesize
fheelsize
gear
material
brand
Operation:
shift
move
repair
这样,整个自行车的描述就由一个类封装起来,要声明一个自行车对象mybike是只需写Bicyclemybike。
如果不考虑某些语言(例如c++)中属性及操作的公有行及私有性,类/对象的接口就是它的属性及操作,而私有部分则是操作的具体实现。
6.多态性(Polymorphism)
在程序设计语言中,多态性指相同的语言结构可以代表不同类型的实行进行操作,这里的实体包括变量及函数或过程的变元等。
2.2面向对象分析
面向对象分析OOA(object-orientedanalysis)是软件开发过程中的问题定义的阶段。这一阶段最后得到的是对问题论域的清晰、精确的定义。面向对象分析为论域分析和应用分析。论域分析建立大致的系统实现环境,应用分析则根据特定应用的需求进行论域分析。
2.3面向对象的设计
面向对象分析和面向对象设计之间有密切的衔接关系,从面向对象分析到面向对象设计是一个逐渐扩充模型的过程。分析处理是以问题为中心的,可以不考虑任何与特定计算机有关的问题,而面向对象设计则把我们带进了面向计算机的"实地"开发活动中去。通常,面向对象设计分为两个阶段:高层设计和低层设计。高层设计包括像用户界面那样的问题解决部分。低层设计集中于类的详细设计阶段。通常,利用面向对象设计得到的系统框架如图2-1所示
图2-1面向对象导出的系统结构
3.员工培训管理系统初步调查与可行行分析
3.1确定员工培训管理系统的边界
从广义上讲,系统是个部分的简单组合,它们相互作用,以达到中目的。任何一个系统都是由比它更小的系统组成的,同时它本身又是较大系统的一个组成部分。因此该系统既是比它的小系统的生存环境,又是比它大的系统的一个组成部分,为了达到特定系统的目的。该系统需要与其周围环境,即与系统边界外的任何实体交互作用。实现这一个目标的途径就是确定系统的边界。
企业员工培训管理业
上一篇:
VFP党员管理系统(论文和程序)
下一篇:
DedeCMS V5.6 开发日志及新建议提交贴