免费论文查重: 大雅 万方 维普 turnitin paperpass

论面向对象计算机教学中面向对象编程表达策略

最后更新时间:2024-01-30 作者:用户投稿原创标记本站原创 点赞:4881 浏览:11534
论文导读:概括了面向对象编程中的主要概念,提出了编写面向对象程序代码时的核心理念,研究了在此核心理念指导下编写面向对象程序代码的各种表达方法。教学实践表明,计算机专业学生运用这些表达方法能够编写出更具表达力的程序代码,代码质量得到了极大地改善。关键词:面向对象;软件质量;程序设计

一、面向对象编程概述面向对

摘要:概括了面向对象编程中的主要概念,提出了编写面向对象程序代码时的核心理念,研究了在此核心理念指导下编写面向对象程序代码的各种表达方法。教学实践表明,计算机专业学生运用这些表达方法能够编写出更具表达力的程序代码,代码质量得到了极大地改善。
关键词:面向对象;软件质量;程序设计

一、面向对象编程概述

面向对象技术认为,对象是对客观世界中事物的抽象,是相对独立的实体。对象同时具有状态和行为。世界是由对象构成的一张关系网,对象间通过消息进行通信。面向对象哲学观认为,客观世界中的任何事物都是对象,事物间的任何复杂关系都可以抽象为对象间的关系。

二、面向对象编程表达方法

(一)核心理念

软件具有很高的抽象性,面向对象编程的抽象性有二:首先是对现实世界事物结构和行为做出合理的分析与理解,建立初步的对象模型;然后在此对象模型基础上,发现和设计出合理的问题解决方案。因此,面向对象编程的核心理念就是将现实世界中的事物结构和行为合理地映射为机器世界中的对象结构和行为。这种映射既包含着现实世界中事物的关键特性,又包含着解决实际问题所必要的设计要素。例如,一个企业工资管理系统中,既包含了员工、工资等核心对象,又包含了数据访问对象、用户界面对象等必要的辅助对象,构成了一个完整的问题解决方案。
这时,这段代码被赋予了实际意义,反映了现实世界中存在学生这类事物,并有一个学生叫Tom。代码的表达力增强了。类似地,对于其他各种名字(如方法名、接口名、参数名等),都应当进行合理地命名,尽量反映现实世界。
一个对象内部组合了另一个对象后,该对象就能够与被组合的对象进行协作,完成各种业务功能,如结构合成、职责委托、功能适配等。但是,对象组合会造成对象间的强耦合,虽然我们可以采用接口隔离、依赖注入、观察者模式等技术手段来解耦,但这又不可避免地增加了设计的复杂性。因此,采用对象组合的表达方法时应该从两个角度慎重思考:首先,现实世界中的两个事物之间是否具有结构或行为上密不可分的协作关系;其次,两个对象间的这种组合表达方法是否有利于实际问题的解决。
因此,可以借鉴生物学中的知识做如下隐喻:对象继承是遗传,方法覆盖是变异。但是,对象继承是有严格的前提条件的:首先,从分类上看,子类事物一定从属于父类事物。其次,父类事物包含的全部特性一定都适合子类事物。例如,从数学分类看,正方形一定从属于长方形。但是,长方形中包含长和宽这样的特性,而在正方形中已经没有长和宽的概念,而只有边长这个特性。所以,若不假思索就让正方形继承长方形,会导致正方形对象中也会出现长和宽两种特性,从而与现实世界中的正方形概念发生冲突。可见,对象继承的表达方法并不是一个纯技术问题,而是对现实事物之间的分类和行为进行了深入分析理解后做出的一个重要的设计决策。
三、总结
改进代码质量的一个重要方法就是提升代码的表达力。计算机专业学生在学习面向对象编程技源于:论文格式怎么写www.7ctime.com
术时,应当牢牢把握住的一个核心理念就是将现实世界事物的结构和行为合理地映射为机器世界中对象的结构和行为。在此核心理念的指导下,我们对于类与对象命名、对象组合、对象继承等面向对象编程技术,探讨了增强编程表达力的各种表达方法。教学实践表明,计算机专业学生运用这些表达方法可以有效地提升程序代码的表达力。
参考文献:
Shore, James,Shane Warden. The Art of Agile Development. O’Reilly Media, 2007.
Meszaros, Gerard. xUnit Test Patterns:Refactoring Test Code. Addison-Wesley, 2007.
[3]Martin, Robert C. Agile Software Development: Principles,
Patterns and Practices. Prentice Hall, 2002.
(作者单位 陕西理工学院)