软件工程理论与实践 课件 第12章 面对对象实现-1_第1页
软件工程理论与实践 课件 第12章 面对对象实现-1_第2页
软件工程理论与实践 课件 第12章 面对对象实现-1_第3页
软件工程理论与实践 课件 第12章 面对对象实现-1_第4页
软件工程理论与实践 课件 第12章 面对对象实现-1_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章面向对象实现面向对象语言的选择面向对象程序设计风格第一节第二节目录2面向对象语言的选择第一节优点面向对象语言的优点表示一致自动映射可复用性高使用面向对象语言时,由于语言本身充分支持面向对象概念的实现,因此,编译程序可以自动把面向对象概念映射到目标程序中。此外,面向对象语言的优点还包括:一致的表示方法;可复用性高;可维护性好等。可维护性好因此,面向对象实现还是尽量选用面向对象语言为好。4面向对象语言的技术特点分类商业策略纯面向对象语言主要支持面向对象方法研究和快速原型的实现混合型面向对象语言(在过程语言的基础上增加面向对象机制)纯面向对象语言例:C++

例:C#、Smalltalk和EifTel等

混合型面向对象语言的目标则是提高运行速度和使传统编程人员容易接受面向对象思想5具有支持类与对象概念的机制面向对象语言的技术特点01成熟的面向对象语言通常都提供丰富的类库和强有力的开发环境。因此,选择面向对象语言时,还要考察语言的以下技术特点02具有实现继承的机制03具有实现属性和服务的机制04具有参数化类的机制提供类型检查机制提供持久保持对象的机制提供类库提供参数化类的机制提供可视化开发环境05060708096选择面对对象语言将来能否占主导地位可复用性如何Four0302ThreeTwoOne01是否具有良好的类库和开发环境支持04售后服务如何05集成已有软件的难易程度如何实际软件开发中,选择哪种面向对象语言还要考虑语言的以下几个方面7第二节面向对象程序设计风格面向对象程序设计风格

良好的面向对象程序设计风格,既包括传统的程序设计风格准则,也包括为适应面向对象方法所特有的概念(如封装性、继承性等)而必须遵循的一些新准则。良好的程序设计风格对面向对象实现来说也很重要,它不仅能明显减少维护或扩充的开销,而且也有助于在新项目中复用已有的程序代码。92.1提高可复用性R面向对象方法的一个主要目标就是提高软件的可复用性。软件复用有多个层次,在编码阶段主要与代码复用相关。一般来说,代码复用有两种:一种是本项目内的代码复用,另一种是新项目复用旧项目的代码。内部复用主要是找出设计中相同或相似的部分,然后利用继承机制共享它们。为做到外部复用,则必须要有长远打算,需要不断思索、反复打磨。虽然为实现外部复用而需要考虑的因素,比为实现内部复用而需要考虑的更多,但是针对这两类复用的程序设计准则却是相同的。10提高可复用性010203提高方法的内聚,降低耦合;减小方法的规模;保持方法的一致性;把策略与实现分开;尽量做到全面覆盖;尽量不使用全局信息;充分利用继承机制等。实现提高可复用性的主要准则包括:11提高可扩充性R12.2.1小节所述的提高可复用性的准则,也适用于提高程序的可扩充性。封装类的实现策略;控制方法规模;避免使用多分支语句;精心选择和定义公有方法;合理使用多态性机制;根据对象的当前类型自动选择相应的操作等。提高可扩充性的准则:12提高稳健性

稳健性是指在硬件故障、输入的数据无效或操作错误等意外的情况下,系统能做出适当响应的程度。编程人员在编写实现方法的代码时,既应该考虑效率,也应该考虑稳健性。通常需要在稳健性与效率之间做出适当的折中。

必须认识到,对于任何一个实用软件来说,稳健性都是不可忽略的质量指标。为提高稳健性应该遵守以下几条准则:预防用户的操作错误,具备处理用户操作错误的能力;检查参数的合法性;使用动态内存分配机制;先测试后优化。13提高稳健性R面向对象实现主要是指把面向对象设计的结果翻译成用某种程序语言书写的面向对象程序。

采用面向对象方法开发软件的基本目的和主要优点是通过复用提高软件的生产率。因此,应该优先选用能够最完善、最准确地表达问题域语义的面向对象语言。14提高稳健性R在面向对象实现中,涉及到的主要技术有:类的封装和信息隐藏、类继承、多态和重载、模板、持久保存对象、参数化类和异常处理等。主要技术以类的实现为核心开发过程中,类的实现是核心问题。在用面向对象风格所写的系统中,所有的数据都被封装在类的实例中。而整个程序则被封装在一个更高级的类中。在使用既存部件的面向对象系统中,可以只花费少量时间和工作量来实现软件。只要增加类的实例,开发少量的新类和实现各个对象之间互相通信的操作,就能创建所需要的软件。15下面举两个例子来说明面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论