关于使用C++讲授面向对象程序设计课程的预备知识的探讨.docVIP

关于使用C++讲授面向对象程序设计课程的预备知识的探讨.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于使用C++讲授面向对象程序设计课程的预备知识的探讨   摘要:很多高校都采用C++语言讲解“面向对象程序设计”课程。本文结合实例探讨了在学习面向对象技术之前应该做好的两个方面的准备工作,并从多个角度对这两个方面做了详细的论述。   关键词:过程化;面向对象;范型;类   中图分类号:G642 文献标识码:A   文章编号:1672-5913(2007)14-0041-04      1引言      面向对象程序设计是计算机科学专业的核心课程,理论性与实践性并重。很多学校采用C++语言为范例讲述面向对象程序设计这门课程。教学内容主要包括面向对象程序设计范型(paradigm)的三个最重要的特性:继承、封装和多态,以及C++如何实现这三个特性,使学生掌握面向对象程序设计范型和一种面向对象的编程语言,从而为以后的学习打下基础。但是,由于存在从过程化编程到面向对象编程思想转变的突然性和C++语言实现面向对象机制的复杂性,所以在开始讲授面向对象部分之前做好充分的准备工作,掌握必要的预备知识是非常重要的,否则学生就会陷入细节的困惑而影响对面向对象编程机制的理解,影响了教学效果,本文从教学实践经验出发,根据实际教学体会,试图在这一方面做进一步探索,结合实例探讨在讲授C++语言描述的面向对象程序设计课程之前应该掌握的预备知识及其必要性。      2面向对象程序设计的教学现状      在很多高等院校中,讲授面向对象程序设计这一课程时都是使用C++语言描述,因为在大学早期一般都学习过C语言,所以使用C++语言描述可以使学生在学习过程中有衔接感,不至于在基本语法上都感到陌生。正是有了C语言的基础,所以很容易认为不用做什么准备或者做很少的准备就可以开始面向对象部分的讲述。但是存在三个问题:首先,概念上很难转变。C语言是过程化的语言,关注的是功能的划分和函数的实现,是一种和面向对象完全不同的编程范型。如果一开始就讲授类、对象等面向对象知识,没有一个合理的铺垫,会有很强的突兀感,不易接受;其次,C++是一种灵活强大的语言,即使在过程化编程部分也有一些与C语言不同的地方,而这些地方却往往是C++语言实现面向对象机制的重要部分,如果没有一个清晰明确的认识,只知其然而不知其所以然,就难以真正掌握C++语言的面向对象部分;再次,讲授C语言时重点在于编程的基本概念和程序结构的控制,指针和结构体并不是重点的内容,或者说这些内容刚开始很难完全掌握,而这部分内容在讲解面向对象过程中会经常使用,如果不进行回顾就直接在面向对象的教学中使用也会影响教学效果。所以在学习面向对象程序设计之前做好充分的概念和技术上的准备是很重要的,起到了承上启下的作用。下面就对学习面向对象程序设计之前应该准备的相关知识逐个做一讨论。      3应该掌握的预备知识      在开始学习面向对象程序设计之前所要加强或者全新学习的知识主要针对上一节中叙述的问题展开,针对上述三个方面的问题,应该从以下两个方面,七个具体问题入手。   3.1程序设计理念上的转变   程序设计理念上的转变主要是从了解面向对象技术产生的背景出发,理解面向对象技术产生的自然性及其相对于过程化程序设计的优势,从程序语言发展和设计两个角度上理解,从而能对面向对象技术有一个全局性的把握。   1.从程序语言发展的角度出发看面向对象程序设计语言出现的必要性及其与过程语言的衔接性。程序设计的发展的目标之一是提高重用性,而提高重用性的方法是提高抽象性,C语言提供的抽象机制是函数,这是过程化程序设计语言的特点。这样的抽象能力是很有限的,在大型系统的设计中会造成结构复杂、管理困难的现象,同时代码难以理解、难以维护、难以重用。面向对象语言在这方面显示了强大的优势。面向对象技术提供的抽象机制主要是类(Class),也叫做用户自定义类型,类是一种完全的用户自定义类型。面向对象程序设计技术可以在很大程度上解决过程化程序设计所面临的问题。首先,面向对象的设计可以很好地模拟现实世界,大大缩小了现实问题域与程序设计问题域的差距,使得客户也可以理解设计,对设计的修改和验证也变得很容易。其次,类封装了内部属性,只对外部暴露接口,只要不更改接口,在类的内部所做的任何修改不会对类的使用者造成影响,大大提高了可重用性和可维护性。   2.从设计的角度出发观察面向对象的设计与过程化设计上的区别。从设计的角度出发学习程序设计很有好处,通过对设计的思考,非常有助于了解某种程序设计范型的优势和缺点,同样,通过对面向对象设计的思考,有利于更好的掌握面向对象的技术内涵。举一个例子,设计图书馆管理系统。如果是过程化设计,关注的是图书馆有哪些功能,每一个功能该怎样实现,需要哪些函数,这些函数之间应该怎样相互调用以完成该功能。大概可以

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档