“面向对象程序设计”课程教学实践与探索

“面向对象程序设计”课程教学实践与探索

ID:12457947

大小:30.50 KB

页数:9页

时间:2018-07-17

 “面向对象程序设计”课程教学实践与探索_第1页
 “面向对象程序设计”课程教学实践与探索_第2页
 “面向对象程序设计”课程教学实践与探索_第3页
 “面向对象程序设计”课程教学实践与探索_第4页
 “面向对象程序设计”课程教学实践与探索_第5页
资源描述:

《 “面向对象程序设计”课程教学实践与探索》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、“面向对象程序设计”课程教学实践与探索“面向对象程序设计”课程教学实践与探索“面向对象程序设计”课程教学实践与探索“面向对象程序设计”课程教学实践与探索“面向对象程序设计”课程教学实践与探索“面向对象程序设计”课程教学实践与探索“面向对象程序设计”课程教学实践与探索中国电力教育CEPI!—硒酝丽DOI编码:10.3969/j.issn.1007—0079.2010.25.037面向对象程序设计”课程教学实践与探索陈锦涛摘要:”面向对象程序设计”课程既是学习其他高级程序设计语言的基础,也是学生今后科研工作中的一种实用工具

2、.本文从对学生综合能力培养的角度出发,提出在基于c++的”面向对象程序设计”课程的教学过程中应注重其实用性,不拘泥于语法,充分发挥学生的主体作用,激发学生的学习兴趣,提高学生的编程能力,让学生从现有的面向过程的编程思想转变为面向对象,并能够真正理解和运用面向对象的编程思想.关键词:面向对象;程序设计;c++;教学方法作者简介:陈锦涛(1962一),女,四川成都人,南京工程学院电力工程学院,副教授,主要研究方向:电网监控和计算机软件教学.(江苏南京211167)“面向对象程序设计”是电网监控专业学生的一门专业基础课(必修

3、课程).本课程开设的目的是让学生了解面向对象的程序设计思想,熟练使用一种面向对象的程序设计语言.学生在学习过C语言课程的基础上学习本课程,虽然有卜定的编程基础,但是编程思维方式很难—下子从面向过程向面向对象转变,缺乏面向对象的系统分析和设计的能力.笔者结合多年讲授”面向对象程序设计”课程的教学经验,探讨在该课程教学上的一些经验体会.一重视预备知识的讲授“面向对象程序设计”的教学内容主要包括面向对象程序设计范型(paradigm)的三个最重要的特性:继承,封装和多态以及C++如何实现这三个特性,使学生掌握面向对象程序设计

4、范型和一种面向对象的编程语言,从而为以后的学习打下基础.虽然学生有C语言基础,但是C语言是过程化的语言,关注的是功能的划分和函数的实现,是一种和面向对象完全不同的编程范型如果一开始就讲授类,对象等面向对象知识,没有一个合理的铺垫,会有很强的突兀感,不易接受.其次,C++是一种灵活强大的语言,即使在过程化编程部分也有一些与C语言不同的地方,而这些地方却往往是C++语言实现面向对象机制的重要部分,如果没有一个清晰明确的认识,只知其然而不知其所以然,就难以真正掌握C++语言的面向对象部分.再次,讲授C语言时重点在于编程的基本

5、概念和程序结构的控制,指针和结构体并不是重点的内容,或者说这些内容刚开始很难完全掌握,而这部分内容在讲解面向对象过程中会经常使用,如果不进行回顾就直接在面向对象的教学中使用也会影响教学效果.因此要重视在讲授c++语言描述的”面向对象程序设计”课程之前应该掌握的预备知识的学习.主要包括五个方面:引用;const关键词;函数重载;new与delete;cin和cout.二运用启发式教学法启发式教学是根据学生的发展特点和需要,结合学生现有的知识,适时巧妙地给学生以启迪,开导和点拨,帮助学生独立思考,创造性地学习新的知识.面向

6、对象程序设计的基础是类,这个概念对于学生来说是第一次接触到.由于没有面向对象编程思想基础,所以学生在初学时理解起来比较困难.在教学过程中,笔者首先从学生已经学过的C语言程序人手,提出一个比较简单的问题,让学生设计出解决方案.然后,分析学生的解决方案,并进一步给出启发式提问,最后,再给出类的概念.第一步,提出问题:让学生用C语言程序设计方法设计出一个用于描述直角坐标系中某个点坐标的方案.学生给出了设计代码.structpoint{intX,Y;};第二步,在上述代码基础上,提出需要为直角坐标系上的点加入_个输出其坐标的操

7、作,让学生修改代码.改后的代码如下所示.#include<stdio.h>structpoint{intX,Y;voidoutputs{printf(“%d,%dll,x>Y);}j;在TurboC2.0环境下演示运行学生给出的代码,结果编译出错.结合编译的错误,帮助学生复习C语言中结构体只能定义成员变量,不能定义成员函数的概念.第三步,将上述代码稍作修改,重新在VC++6.0环境下运行.从运行结果中,学生了解到c++中的结构体是可以有成员函数的.修改后的代码如下所示.#include<iost

8、ream.h>structpoint{intX,Y;voidoutput{cout(“%d,%d”,X,Y);}};voidmainQ{pointp;~EPE中国电力教育P.X=0;P.y=0;P.output();}第四步,继续提出启发式问题:既然能够通过C++中的结构体来实现数据的封装,为什么还要引入类和对象的概念呢?学

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。