版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、技术创新,变革未来计算机面向对象技术概述序 面向对象技术是一种全新的软件开发技术,正逐渐代替被广泛使用的面向过程开发方法,被看成是解决软件危机的新兴技术。面向对象的特征是封装、继承、多态;面向对象设计的目的是达到最大限度的重用;面向对象技术产生更好的系统结构,更规范的编程风格,极大的优化了数据使用的安全性;6.1 面向对象的基本概念对象类消息接口封装继承多态面向对象思想的由来“对象”一词在现实生活中经常会遇到,它表示现实世界中的某个具体的事物。随着计算机的普及应用,人们越来越希望能更直接与计算机进行交互,而不需要经过专门学习和长时间训练后才能使用它。这一强烈愿望使软件设计人员的负担越来越重,也
2、为计算机领域自身的发展提出了新的要求。传统的程序设计思想无法满足这一要求,人们就开始寻求一种更能反映人类解决问题的自然方法,面向对象技术就是在这样的情况下产生的。面向对象与结构化开发方法现实世界为对象世界OOAOODOOP结构化分析结构化设计结构化编程顺序存储指令计算机过程世界面向对象开发方法结构化开发方法OOA/OOD/OOP是一种从概念上更为直接的路径。面向过程的结构化方法存在着与现实世界之间的巨大差距。面向对象的基本概念Peter Coad 和 Edward Yourdon 提出下列等式认识面向对象方法: 面向对象 对象(Object) 分类(Classification) 继承(Inh
3、eritance) 通过消息的通信 (Communication with message)采用这四个概念开发的软件系统是面向对象的。面向对象技术面向对象方法的出现,实际上是程序设计方法发展的-个返朴归真过程。面向对象的实质:从系统的组成上来进行分解。对问题自然分割,利用类及对象作为基本构造单元,以更接近人类思维的方式建立问题域模型,从而使设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、可维护性好的软件,并能控制软件的复杂性降低开发维护费用。对象对象是指包含了一组属性以及对这些属性的操作的封装体。对象之间存在着一定的关系,对象之间的交互与合作构成更高级的行为。王五由他的头、胳膊
4、、腿和身体组成汽车是一种交通工具对象间的由分解所构成的关系,part of层次;具有代表一种一般特性的对象之间的聚合关系,is a层次;代表更一般的对象间在物理上或概念上有关的相关关系。人乘坐或驾驶汽车对象是软件开发期间测试的直接目标。面向对象软件测试所关注的焦点: (1)对象的行为是否符合它的规定说明; (2)该对象与和它相关的对象是否协同工作。类类是具有相同属性和相同行为的对象的集合。面向对象程序运行的基本元素是对象,而类则是用来定义对象这一基本元素的。在面向对象程序设计中,类是一个独立的程序单位,它有一个类名,还包括用于描述对象属性的成员变量和用于描述对象行为的成员函数。类是对象的抽象定
5、义。使用类时必须先实例化用对象名创建类的实例,再通过这个对象去访问类的成员变量,去调用类的成员函数。类和对象之间关系类似于程序设计语言中类型和变量之间的关系。消息消息是对象的操作将要执行的一种请求,也被称为成员函数调用或者方法调用。面向对象的程序的执行实际上是执行一个由消息连接起来的方法序列。 “发送消息M到对象N” =“调用N对象的M方法” 消息传递是对象间通信息的手段。一个消息通常包括接收对象名、调用的操作名和适当参数(如有必要)。消息只告诉接收对象需要完成什么操作,但并不指示接收者怎样去完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需操作。消息(续)从测试的角度看,关
6、于消息有下面的结论:(1)消息的发送者决定何时进行发送消息,可能会做出错误的决定;(2)消息的接收者可能收到非预期的特定消息,并做出不正确地反映;(3)消息可能含有参数。在处理一条消息时,参数能被接收者使用或修改。若传递的参数是对象,那么在消息被处理前和处理后,对象必须处于正确的状态,而且必须是接收者所期望的接口。 接口接口是行为声明的集合。接口是由一些规范构成的,规范定义了类的一套完整的公共行为。是一种非常有效的编程工具,可以在不破坏现有应用程序情况下使对象得以发展。从测试的角度,关于接口有下面的结论:(1)接口封装了操作的说明。如果这一接口包含的行为和类的行为不相符,那么这一接口的说明就有
7、问题。(2)接口非孤立,它与其它的接口和类有一定的关系。封装封装:是一种信息隐蔽技术,用户只能看到对象封装界面上的信息,对象内部的实现对用户是隐蔽的。防止外界未被授权地访问一些信息和功能。封装的目的使对象的使用者和设计者产生分离使对象的定义和实现分开例:档风玻璃雨刷系统某些档风玻璃雨刷是由带刻度盘的控制杆控制的。控制杆有4个位置:停止、间歇、低速、高速;刻度盘有3个位置:1、2、3。刻度盘位置指示三种间歇速度,刻度盘的位置只有当控制杆在间歇位置上时才有意义。以下决策表给出了挡风玻璃雨刷对应控制杆和刻度盘的工作速度:C1控制杆C2刻度盘停止间歇1间歇2间歇3低速高速A1雨刷046123060关间
8、歇低速高速123每分钟0次摆动每分钟4次摆动每分钟6次摆动每分钟12次摆动每分钟30次摆动每分钟60次摆动档风玻璃雨刷类的行为控制杆雨刷刻度盘 定义(类):控制杆CLASS lever(lever position; private senseLeverUp(), Private senseLeverDown()刻度盘CLASS dial(dial position; private senseDialUp(), private senseDialDown)雨刷器CLASS wiper(wiperSpeed; setWiperSpeed(new Speed)控制杆和刻度盘永远报告各自的位置,雨
9、刷类成为“主程序”。类之间的耦合很小的封装最大限度提高重用的潜力,使合成和测试更容易。继承继承继承是类间的基本关系,是基于层次关系的不同类共享数据和操作的一种机制。继承允许一个新的类在一个已有的类的基础上进行定义。一个父类可以有多个子类,这些子类都是父类的特例。父类描述了这些子类的公共属性和操作,子类中还可以定义它自己的属性和操作。单一继承:一个子类只有唯一的一个父类多重继承:一个子类有一个以上的父类从测试的角度来看,继承包含以下内容:(1)继承提供一种机制,通过这种机制,潜在的错误能够从一个类传递到它的派生类。(2)子类是从父类继承过来的,子类也就继承了父类的属性和操作。因此,可以用测试父类
10、的方法对子类进行测试。继承使类作为单元测试的选择变得复杂;使用“扁平类” 的单元测试可解决继承的问题,即一个类经过扩充包括全部所继承的属性和操作的原始类的类。例,SATM系统部分的UML继承图accountaccountNumberbalanceGetbalance()Setbalance()checkingAccountcheckProcessingChargecheckNumberpostCharge()savingsAccountinterestRatepostInterest()checkingAccountaccountNumberbalancecheckProcessingChargecheckNumberGetbalance()Setbalance()postCharge()savingsAccountaccountNumberbalanceinterestRateGetbalance()Setbalance()postInte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无边玻璃隔断施工方案(3篇)
- 法律援助-应急预案(3篇)
- 营销方案申请模板(3篇)
- 旗袍营销推广方案(3篇)
- 直播带货广告创意与用户转化优化
- 环卫处2026年工作计划(2篇)
- 移动广告市场分析-第3篇
- 网络文摘版权保护
- 深圳前海湾软土地基沉降预测:模型对比与精准方法构建
- 深入剖析加权遍历定理:理论、证明与多元应用
- 2025年度安徽合肥合燃华润燃气有限公司校园招聘23人笔试参考题库附带答案详解
- 邮政知识考试题及答案
- 《高等机构学(第2版)》课件-第1章-数学基础
- 2024-2025学年河南工业贸易职业学院单招《职业适应性测试》真题及答案详解(夺冠系列)
- 城管执法舆情培训课件
- 2025年青岛市农业农村局所属部分事业单位招聘紧缺急需专业人才笔试模拟试题带答案详解
- 园林绿化项目文明作业及减少扰民保障措施
- 电子电路基本技能训练课件:电子焊接基本操作
- 医院融资计划书民营医院融资计划书
- 文化和旅游部直属事业单位招聘考试真题2024
- 高校融资管理制度
评论
0/150
提交评论