欢迎来到天天文库
浏览记录
ID:46838016
大小:67.50 KB
页数:6页
时间:2019-11-28
《面向对象的程序实现特征研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、面向对象的程序实现特征研究面向对彖的程序实现特征研究【摘耍】程序的质量主要取决于软件设计的质量,选择了程序设计语言之后,编程风格在很大程度上影响着程序的可读性、可测试性和可维护性。保证程序质量的重要方法是有良好的程序设计风格。对面向对象实现来说,良好的程序设计风格也是非常重耍的,它不仅能够减少系统维护或扩充所带来的系统开销,而且更有助于在新项目或工程中重用已有的程序代码。本文就程序设计风格和准则进行探讨研究。【关键词】面向对象;程序设计特征程序的质量取决于程序设计的质量,选择了程序设计语言之后,编程风格决定了程序的可读性、可测试性和可维护性。对面向对象实现来
2、说,良好的面向对象程序设计风格,不但要遵循传统的结构化程序设计风格和准则,也要遵循为适应面向对象方法所特有的概念(例如,继承性)而必需的一些新的风格和准则。一、提高可重用性提高软件的可重用性是而向对象方法的一个主要目标。软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析其至知识领域等多个层次。在编码阶段主耍考虑代码重用的问题,代码级的重用是最简单,也是最流行的,是迄今为止研究最深入、应用最广泛的重用技术。传统上,代码级重用部件的主体是子程序(函数或过程)。现在,rti于基
3、于对象和血向对象的程序设计语言及相应开发环境的发展,代码级重用部件的内容更加丰富,不仅包括结构化程序设计语言中的函数或过程,同时也包括面向对象程序设计语言中的程序包和类。一般说来,代码重用可分为两种形式,一种是本项目内的代码重用,称为内部重用;另一种是新项目重用已有项目的代码,称为外部重用。内部重用主要是找出本项目设计屮和同或和似的部分,然后利用继承机制共享它们。要做到外部重用,即一个项冃重用另一项冃的代码,就要求开发人员必须具有重用的设计思想,做到反复考虑,精心设计。虽然为实现外部重用与内部重用需要考虑的范围不同,但是有助于实现这两类重用的程序设计准则却是
4、相同的。实践经验表明,主要的准则有:1•提高方法的内聚,减小方法的规模一个方法(即服务)应该只完成单个功能,这样的方法是高内聚的。如果某个方法涉及两个或多个不相关的功能或规模大的方法,则应该把它分解成儿个更小的方法。2•保持方法的一致性实现代码重用的一个重要因素是应该保持方法的一致性。一般来说,功能相似的方法应该有一致的名字、参数特征(包括参数个数、类型和次序)、返回值类型、使用条件及出错条件等。这样有助于实现代码重用。3.把策略与实现分开方法从所完成的功能來看有两种类型:策略方法和实现方法。策略方法负责做出决策,提供变元,并且管理全局资源;实现方法只负责完
5、成具体的操作,但却没有执行这个操作的决定权,也不知道为什么执行这个操作。策略方法不直接完成计算或实现复杂的算法,只是检查系统运行状态,并处理出错情况。该方法通常紧密依赖于具体应用,这类方法易编写、易理解。实现方法仅仅针对具体数据完成特定处理,通常用于实现复杂的算法。实现方法既不制定决策,也不管理全局资源。实现方法如果在执行过程中发现错误,只返回执行状态而不处理出错情况。由于实现方法是自含式算法,与具体应用和对独立,因此,容易在其他应用系统中重用,具有较高的可重用性。在编程吋分清策略方法和实现方法,不要把它们放在同一个方法中。应该把算法的核心部分放在一个单独的
6、具体实现方法中。为此需要从策略方法中提取出具体参数,作为调用实现方法的变元,才能提高方法可重用性。3.采用全面覆盖技术在编程时,对系统全面考虑,写出覆盖整个系统所有可能的方法。而不能仅仅针对当前需要的功能写方法。例如,如果在当前应用中需要写一个获取表中第一个元素的方法,则至少还应该为获取表中最后一个元素再写一个方法。一个方法不仅能处理正常值,而且还能够对异常情况(如空值、极限值及界外值等)作出有意义的响应。5•降低方法的耦合度降低方法与外界的耦合程度的一项主要措施是在方法中尽可能少使用或不使用全局信息。6.充分地利用继承机制使用继承机制可实现共享和提高重用性
7、,是面向对象程序设计的主要途径。(1)使用了过程。把公共的代码分离出来,构成一个被其他方法调用的公用方法,是实现代码复用最常用、最简单的方法。通常可以在基类中定义这个公用方法,供派生类中的方法调用。(2)分解因了。提高相似类代码可重用性的另一个有效途径,是从不同类的相似方法中分解出公共代码和不同的代码(即因子)。把公共代码作为公用方法,定义在一个抽象基类(额外的)中;把不同的因了作为名字相同而算法不同的方法,定义在不同类中,并被这个公用方法调用。把这种分解与面向对象语言提供的多态性机制结合起来,抽象基类中定义的公用方法可由派生类來继承,在新了类中只需编写其特
8、有的代码,由于增添新了类编写的代码减少了,显然为增添
此文档下载收益归作者所有