面向对象编程的教学思考
2011-12-20杨志飞
摘要:本文对面向对象思想在教学中的难点进行了分析,同时分析了哲学与生物学在面向对象中的作用,使学生更容易理解面向对象编程。
关键词:面向对象,生物,哲学;
Abstract:The paper analysises the difficultyof idea of object-oriented in the process of teaching,and analysises the function ofbiology and philosophy,then it makes students easy to comprehend the programming of object-oriented.
KeyWords:object-oriented, biology, philosophy;
随着计算机技术的快速发展,面向对象编程及其思想已成为当前IT行业的主流思想,但是在实际教学中,学生对它的理解与掌握无法同面向过程相比,本文尽可能的从其他方面来讨论面向对象中的一些基本要素,分析面向对象编程的教学方法。
面向对象编程的教学分析
面向对象编程经过多年的教学,经过不断的改进,由传统的黑板教学,发展到现在的PPT教学。教学的过程,方法也经历了不停的思考与探索,但是效果不是很理想。究其原因有以下几点。
学生基础薄弱,先前没接触过编程,更没接触面向对象编程。
面向对象思想较面向过程思想复杂,学生难以抽象,更难以理解。
面向对象中的基本特点封装,学生不知道如何封装,封装什么?
针对以上原因,本文从哲学与生物学角度,尽可能的简化对面向对象的理解与认识。让学生有一个直观的认识。
二、从哲学,生物学观点来认识面向对象
首先阐述一下面向过程,面向过程编程是以事物的发展过程为轴线来完成编程,在这里虽然有事物,但是编程中不体现事物,体现的是事物的過程,所以学生还容易理解。
那什么是面向对象呢?
首先说一下对象,在哲学中,大家知道,事物是联系变化的;在生物学中,将不同种类的生物按类别来标识。那对象是什么呢?对象就是哲学中的事物,生物学中的具体生物。计算机这个智能仪器的出现,就是来仿真现实社会,现实自然界的。它既然要表现,能表现自然界的生灵,那如何来表现呢?面向过程能表现吗?显然是不能的,所以就有了面向对象,面向事物这个概念了。
接下来说一下面向对象,我认为面向对象是编程语言对生物、事物的一个描述。既然要描述清楚一个生物,一个事物,就不能片面的描述,要描述完毕才成为一个具体的生物,或事物。所以在面向对象中就有了最重要的一个概念“封装”。例如:你不能如下描述猫与狗:四条腿的动物,如此描述,让人都无法想象它究竟是啥动物,所以要发挥想象将他“特有的特征”描述完毕,让人从一个动物与另一个动物区分开来,这个描述是完备的,不能有偏差,不能有歧义。在生物学中,说一个种类,我估计仅说它“特有的特征”,这个特征演变为面向对象中的“属性”,但是哲学说清楚了,万事万物都是联系的。那生物学中的那个种类如何在面向对象的思维下进行联系呢,为了体现生物的联系特性,该联系演变为面向对象中的“方法”,面向对象的“方法”就是事物联系的通道。
所以面向对象中最重要的概念“封装”必然得封装两个东西,那就是对象(事物,生物)的属性与方法。
我们继续看面向对象。我们对比我们知道的生物,对任何生物而言,都有一个生命周期,它有出生,有成长,有衰竭。面向对象既然可以表征生物,所以在面向对象语言里就必然有这个对象的出生,那就是构造函数;它的衰竭,那就是析构函数。那大家问了,它的成长呢?大家想了,它的成长过程就是一系列的同外界的一个联系,作用过程,所以,就是一个一直使用这个对象的过程。使用它什么呢?肯定是它的函数啦。
所以,在面向对象编程中,务必在构造函数中该对象分配够足够的生存空间,在析构函数中回收该对象所占用的空间。生物也是这样的,出生开始占用空间,衰竭后,空间释放,为后来的生物腾空间。
那最后,我们看一下面向过程与面向对象的区别与联系,面向过程中无事物这一概念,但是面向对象中有过程这一概念,因为对象要成长,生物要长大。面向对象包含面向过程,面向过程仅是面向对象的一系列函数。
三、面向对象编程举例
为了体现对象到程序的转化,达到通俗易懂的解释。本例以对长方形对象为例来说明面向对象编程。
首先分析长方形有哪些属性与方法,大家知道,长方形有4个边,分别为2长2宽;方法有求其面结与周长,所以有如下的代码描述:
该类描述完毕。请注意该类不一定代表长方形,也可能代表平行四边形。通过上面的描述,应该知道对属性与方法的完整描述才能确定到具体的对象上。
四、结束语
本文阐述了哲学与生物学对面向对象编程思想的分析,从这些简单生动的对比中让学生体会面向对象的本质,从而能达到对抽象事物的分析与理解。同时在实际的教学中,重要的是培养学生根本的编程思想,这样才能真正达到教学目的,使学生理解编程的本质。
参考文献
1葛建芳 在面向对象程序设计教学过程中培养学生面向对象编程思想. [J] 电脑知识与技术 2008 1
2谭浩强.Java 程序设计 中国铁道出版社. 2006,3.
3吴华 面向对象编程基本思想. [J] 山西煤炭管理干部学院学报. 2002 3 .
4缪淮扣 高晓雷 李刚 结构化方法 面向对象方法和形式方法的比较与结合.[J] 计算机工程与科学. 1999 4 .
作者简介 杨志飞 兰州交通大学教师 主要研究方向为模式识别与智能系统。
注:文章内所有公式及图表请以PDF形式查看。