欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    面向对象程序设计课程教案.doc

    • 资源ID:35354112       资源大小:750.50KB        全文页数:41页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象程序设计课程教案.doc

    如有侵权,请联系网站删除,仅供学习与交流面向对象程序设计课程教案【精品文档】第 41 页面向对象程序设计 课程教案编制日期: 2017 年2 月5 日授课时间第 1 周 课次1、2授课方式(请打)理论课R 讨论课 实践课R 习题课 其他课时安排4教学单元:第1章 综合项目初体验、第2章 面向对象思维建立目的、要求: 了解课程授课安排了解课程考核比例组成熟练掌握课程案例的游玩流程及功能需求了解什么是面向对象思维了解面向对象与面向过程的区别重点:熟练掌握课程案例的游玩流程及功能需求了解面向对象思维了解面向对象与面向过程的区别难点:了解面向对象思维教学步骤:1、课程介绍2、利用智慧平台讲解选课和学习步骤3、安排学生自主登录网站下载LostCraft游戏以及HR服务平台,并安装和熟练掌握游戏4、引入生活中的案例讲解什么是面向对象思维5、通过案例对比区别面向对象与面向过程教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)1、利用智慧学习平台讲解如何在线选课以及平台使用方法2、 通过对生活中的大量案例进行分析,让学生感受到面向对象思维在生活中的运用作业和思考题: 习题 : 完成在线学习平台中第一、二章的内容学习教 学 内 容板书或旁注第一次课(讲师2课时)1、 讲师自我介绍、课程授课安排说明以及考核细则说明(20分钟)n 介绍课程整体安排,包括每周上课次数、周数n 介绍课程考核细则说明,重点强调旷课部分,若旷课达3次,则教师考核30分全部计为0分处理n 班级分组,固定学生上机座位n 重点说明综合项目答辩事宜:预计5月份时期,学生可从系部发布的选题中选择一个中小型的综合项目进行UML设计与C+代码实现,并在夏季小学期开始的第一周进行项目评审答辩,其项目得分归总进夏季小学期总成绩中。2、在线平台的登录与选课以及使用,并让学生现场选课(25分钟)n 告知学生在线平台登录网址:n 演示选课流程n 给学生自主操作进行选课,教师统计平台问题并汇总n 选课成功后学生开始自主学习平台内容,讲师辅导答疑3、 安排学生登录网站下载LostCraft游戏以及HR服务平台,并讲解如何安装游戏(15分钟)n 告知学生案例下载网址:n 打开网站后,在“资源下载区域”,查找本教材所涉及的三个案例,如图所示,分别是“LostCraft.zip”、“HRServerPlatform.zip”以及“O2OProject.zip”。n 安装案例一LostCraft游戏,选中“LostCraft.zip”压缩包,然后点击“下载”,将该压缩包下载至本机电脑上,下载完成后进行解压,解压后打开文件夹,可看到如图文件,最后双击“LostCraft.exe”文件,即可运行案例一的程序。n 安装案例二HR服务平台项目,首先选中“HRServerPlatform.zip”压缩包,然后点击“下载”,将该压缩包下载至本机电脑上,下载完成后进行解压,解压后打开文件夹,可看到如图文件,最后双击“HRServerPlatform.exe”文件,即可运行案例二的程序。n 安装告知学生案例三O2OProject为选学内容,不做硬性要求。4、 学生自主练习这两个项目,熟练掌握这两个项目的游玩流程(30分钟)5、 布置作业(需在下一次上课前完成):完成在线平台第一章的学习第二次课(讲师2课时)1、从软件发展现状引入软件规模和复杂度的变化,引出开发思维的转变(5分钟)2、以现实生活举例,通过案例分析引出什么是面向对象思维(30分钟)n 以ATM为例(10分钟)首先演示流程式实现过程:插卡、输入密码.总结整个方法的优势(逻辑清晰),以及弊端(扩展性较差,无法添加新功能)-面向过程思维及开发方式。其次演示对象化实现过程:用户、银行卡、ATM机,用户拥有银行卡、卡本身包含卡号、密码、以及所属用户,ATM机包括验证账号、吐钞票等功能.总结整个方法的优势(更符合人的思维模式、项目有很强的的扩展性),以及弊端(从场景中抽取合适的对象需要大量的练习和经验)-面向对象思维及开发方式。总结:面向对象思维重点在于“对象”二字,因此如何从一个场景中抽取对象是面向对象设计的重点。再次给出1个简单的案例演示抽取对象的能力,并通过分析对象引出类的概念,表示类与对象之间的关系。n 小明系列笑话之一(25分钟)场景描述:李老师站在高三(5)班的教室外,问高三5班的小明、霜霜和高三6班的李华三人:“你们仨到底在课堂上做什么,给我老实交代。”小明:“指点江山,激扬文字,粪土粪土当年万户侯。”老师:“说人话。”小明:“。”老师:“外面站一天。”分析案例:Ø 提问学生整个案例中涉及到的对象有哪些?对象:李老师、高三5班、小明、霜霜、高三6班、李华Ø 分析对象本身有哪些特征及行为?李老师:姓名、性别等特征,行为有说话高三5班:班级名称、地址小明:姓名、所属班级等特征,行为有说话霜霜:姓名、所属班级等特征高三6班:班级名称、地址李华:姓名、所属班级等特征Ø 将拥有共同特征及行为的对象归为一类李老师、小明、霜霜、李华-人类高三5班、高三6班-班级类Ø 类与对象之间的关系类是抽象的,而对象是具体的。一个类可以创建出无数个对象。对象可以被创建也可以被销毁。类可以被创建,但不能被销毁。3、通过案例分析最后总结面向对象与面向过程的区别(5分钟)4、学生利用在线学习平台自主学习,学习内容为第二章,讲师随时进行辅导答疑(45分钟)5、布置作业(需在下一次上课前完成):完成在线平台第二章的学习 面向对象程序设计 课程教案编制日期: 2017 年2 月5 日授课时间第 2 周 课次3、4授课方式(请打)理论课R 讨论课 实践课R 习题课 其他课时安排4教学单元:第2章 面向对象思维建立、第3章 面向对象思维建模目的、要求: 1、 掌握面向对象思维的概念及设计模式2、 熟练掌握面向对象的设计方式和流程3、 掌握并理解类与对象的概念及关系4、 了解面向对象与面向过程的区别 5、 了解并熟练掌握UML类图重点:熟练掌握面向对象的设计方式和流程掌握并理解类与对象的概念及关系UML类图的绘制难点:熟练掌握如何从复杂的场景中抽取类与对象理解类与对象之间的关系UML类图中类与类之间的几种关系教学步骤:1、查阅学习平台数据反馈指导课堂(根据学生实际情况进行辅导)2、引入案例讲解面向对象思维和设计方式3、总结案例引入类与对象的概念以及关系4、分析面向对象与面向过程的区别教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)1、结合案例进行重难知识点分析和讲解2、利用智慧学习平台学生进行自主学习,学习过程中助教进行辅导答疑3、根据在线平台统计的重难点,错误较多的习题,进行辅导讲解。作业和思考题: 习题 : 完成在线学习平台中第三章1-6小节的内容学习教 学 内 容板书或旁注第一次课(讲师2课时)1、讲解在线平台第二章中所有的练习题,一边讲解一遍总结第二章重难点(45分钟)n 什么是面向对象思维(10分钟)n 什么是类与对象,以及类与对象的关系(15分钟)n 类的属性与行为(10分钟)n 给学生自主练习和消化的时间,讲师可进行答疑(10分钟)2、 讲解UML类图,类图的组成结构以及类图的三种关系:依赖、聚合、继承(25分钟)n 类图的组成:类名、属性、行为,访问权限:+、-、#n 类之间的依赖关系:假设当前某人要过河,需要借用一条船,此时人与船之间的关系就是依赖。首先如果没有船,人无法过河,因此是人依赖船,同时人并不是每天都在使用船过河,因此在该关系中体现出依赖关系的偶然性和临时性,作为依赖方,人有一个使用行为,而船则作为一个函数参数被人使用。总结:依赖就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。 因此类A依赖类B,在UML类图设计中,依赖关系用由类A指向类B的带箭头虚线表示。n 类之间的聚合关系:汽车与轮胎的关系是1对4的聚合关系,即汽车是整体,轮胎是部分,汽车一定包括轮胎,即“汽车 has a 轮胎”,但轮胎本身离开汽车也是可以单独存在的,这样的关系就是一种聚合关系。总结:聚合是关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。在UML类图设计中,聚合关系以空心菱形加实线箭头表示。n 类之间的继承关系:图中所表示的含义即为儿子类继承父亲类,由图可知,父亲类中有两个属性,分别是:姓名、年龄。由于儿子类继承父亲类,因此儿子类中不仅把父亲类中所有的属性和行为继承下来,还能扩展自己的新功能,因此儿子类中的属性有3个,分别是:姓名、年龄以及学历。总结:继承指的是一个类(称为子类)继承另外的一个类(称为父类)的功能,并可以增加它自己的新功能的能力。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类。3、学生自主学习在线平台第三章1、2两小节(20分钟)4、布置作业(需在下一次上课前完成):完成在线平台第三章1、2、3、4小节的学习第二次课(讲师2课时)1、讲解LostCraft游戏中所有类的类图设计,从伪类图如何转变为代码。此外,简单讲解构造函数和析构函数的功能,可让学生暂时忽略不计。(30分钟)n 回顾LostCraft游戏中四个类:英雄类、技能类、怪物类、场景类n 通过类图回顾英雄类所包含的属性和行为,并进行代码映射,最终实现代码式的类图展现。n 通过类图回顾技能类所包含的属性和行为,并进行代码映射,最终实现代码式的类图展现。n 通过类图回顾怪物类所包含的属性和行为,并进行代码映射,最终实现代码式的类图展现。n 通过类图回顾场景类所包含的属性和行为,并进行代码映射,最终实现代码式的类图展现。2、学生自主学习在线平台第三章第5小节内容,讲师随时辅导答疑(60分钟)3、布置作业(需在下一次上课前完成):完成在线平台第三章5、6小节的学习 面向对象程序设计 课程教案编制日期: 2017 年2 月5 日授课时间第 3 周 课次5、6授课方式(请打)理论课R 讨论课 实践课R 习题课R 其他R课时安排4教学单元:第3章 面向对象思维建模、第4章 程序设计语言C+初识目的、要求: 1、 熟练掌握和理解LostCraft游戏的UML设计2、 熟练掌握和理解HR服务平台的UML设计3、 熟练掌握C+与C不同的一些语法重点: 1、理解LostCraft游戏的类图设计2、理解HR服务平台的类图设计3、C+语法:输入输出、常量、bool类型、string类型难点: 1、理解LostCraft游戏的类图设计 2、理解HR服务平台的类图设计教学步骤:1、 通过案例分析,讲解整个HR服务平台中类图的设计2、 利用VS2010工具演示并讲解C+语法3、 学生课堂自主进行练习,教师随堂辅导答疑4、查阅学习平台数据反馈指导课堂(根据学生实际情况进行辅导)教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)1、利用VS2010工具进行代码演示,演示过程中讲解知识点2、利用智慧学习平台进行自主学习,学习过程中助教进行辅导答疑3、根据在线平台统计的重难点,错误较多的习题,进行讲解。作业和思考题:习题:1、 完成在线平台第三章全部内容的学习2、 完成在线平台第四章1、2、3、4、5小节内容的学习教 学 内 容板书或旁注第一次课(讲师2课时)1、讲解HR服务平台中所有类的类图设计,尤其是该平台中用户角色、系统界面角色以及数据提供者角色的设计由来与如何实现。(35分钟)n 先展示整体类图,然后回顾并总结HR服务平台之前的设计,3种角色:用户、系统界面、数据提供者。n 提问:假设每一个角色是一个类,那应该有3个类,怎么整体类图里却涉及了8个类呢?n 解释原因:将每一个基础角色(User、Category、Job)单独设置成一个类,然后为每一个基础角色添加一个集合,并将每一个集合(UserList、CategoryList、JobList)单独设置成一个类,再加上之前所设计的UI类和数据提供者DataProvider 类,共8个类。n 以User和UserList两个类举例,说明两个类之间的关系。以此类推,不再解释Job和Category两个类。n 解释整体类图,8个类之间的关系。2、 学生自主学习在线平台第三章第7小节内容,讲师随时辅导答疑(55分钟)3、布置作业(需在第五章内容学习之前完成):完成在线平台第三章的学习第二次课(讲师2课时)1、利用VS2010编写第一个C+项目,并讲解该项目的框架结构(25分钟)n <iostream>文件的作用n namespace的作用以一个年级有两名“张三”同学为例,如何进行区分?可将两名张三放入不同的班级,每一个班级就相当于一个命名空间。n C+中的输入与输出Ø cout分为c+out,表示输出,说明在C+中输入和输出均无需进行格式控制说明,直接使用连接符 << 即可。可输出一些简单的内容作为演示。Ø cin分为c+in,表示输入,连接符为 >> 。此时可定义一些变量,然后通过一些简单的输入进行演示。2、学生利用VS2010工具练习讲师所讲内容,讲师随时辅导答疑(20分钟)3、利用VS2010讲解C+所存在的一些语法(25分钟)n 数据类型中多出来的bool类型Ø 定义一个布尔类型的变量,并进行赋值,布尔类型只能赋值true或false,然后通过cout进行输出,观察结果。Ø 将该布尔类型放入if语句中,让学生感受到布尔类型的方便之处。n string 类型以及变量的定义Ø 定义一个string类型的变量,并进行赋值,此处提醒学生使用双引号“”,然后运行代码,此时程序提示BUG。Ø 解释原因:string并不是C+中的基本数据类型,string这个关键字属于头文件<string>中,因此使用string类型,必须引用头文件<string>。Ø 添加头文件,再次运行程序,成功。Ø 针对string类型的变量进行输入和输出,体现string类型的优势。n 常量的定义定义一个常量,讲解常量的定义格式,并通过cout进行输出演示。4、学生利用VS2010工具练习讲师所讲内容,讲师随时辅导答疑(20分钟)5、布置作业(需在下一次上课之前完成):完成在线平台第四章1、2、3、4、5小节的学习 面向对象程序设计 课程教案编制日期: 2017 年2 月5 日授课时间第 4 周 课次7、8授课方式(请打)理论课R 讨论课 实践课R 习题课R 其他R课时安排4教学单元:第4章 程序设计语言C+初识、第5章 类与对象的实现目的、要求: 1、 熟练掌握和理解函数的概念及使用方法,包括函数的声明、实现及调用2、 熟练掌握和理解指针的概念及使用方法3、 熟练掌握和理解引用的概念及使用方法4、 熟练掌握和理解LostCraft游戏中技能类的声明与实现5、 熟练掌握和理解对象实例化重点: 1、熟练掌握和理解引用的概念及使用方法 2、熟练掌握和理解LostCraft游戏中技能类的声明与实现 3、熟练掌握和理解对象实例化难点: 1、LostCraft游戏中技能类的声明与实现2、通过技能类创建多个技能对象,并正确调用对象中的属性和方法教学步骤: 1、利用VS2010工具演示并讲解C+语法2、学生课堂自主进行练习,教师随堂辅导答疑3、利用VS2010工具演示并讲解LostCraft游戏中技能类的声明与实现,以及对象实例化4、查阅学习平台数据反馈指导课堂(根据学生实际情况进行辅导)教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)1、利用VS2010工具进行代码演示,演示过程中讲解知识点2、利用智慧学习平台进行自主学习,学习过程中助教进行辅导答疑3、根据在线平台统计的重难点,错误较多的习题,进行讲解。作业和思考题:习题:1、 完成在线平台第四章全部内容的学习2、 完成在线平台第五章LostCraft项目1、2、3、4小节的学习教 学 内 容板书或旁注第一次课(讲师2课时)1、 利用VS2010工具回顾函数的知识点,包括:无参函数、有参函数以及函数的返回值(15分钟)n 编写一个无参函数,回顾函数的基本框架结构,描述函数的声明、实现以及调用。n 在无参函数的基础上,增加参数,更改为有参函数,然后描述有参函数的调用,区分形式参数和实际参数。n 在有参函数的基础上,增加返回值,描述有返回值的函数如何接收返回值,并说明return的使用方法。2、利用VS2010工具回顾指针的知识点,包括:指针的定义及赋值和取值(15分钟)n 定义一个指针变量,然后通过绘制简单的内存图讲解指针变量。 3、学生利用VS2010工具练习讲师所讲内容,讲师随时辅导答疑(15分钟)4、利用VS2010工具讲解引用,并比较函数传值、传指针、传引用的区别(25分钟)n 定义一个变量,通过引用进行赋值,演示运行结果。说明引用实际就是“取别名”。n 定义一个更改数据的函数,然后通过函数传值、传指针、传引用三种方式进行传递数据,然后通过运行结果比较三者区别。此处可绘制简单的内存图,加强数据传递的理解。5、学生利用VS2010工具练习讲师所讲内容,讲师随时辅导答疑(20分钟)6、布置作业(需在下一次上课之前完成):完成在线平台第四章全部内容的学习第二次课(讲师2课时)1、回顾LostCraft游戏中设计的四个类,并重点回顾技能类图(10分钟)2、利用VS2010工具新建一个LostCraft项目,然后根据类图开始编写技能类,一边编写技能类一边讲解C+中类的实现语法结构(20分钟)3、实现技能类后在main函数中进行对象实例化,讲解完后将代码下发给学生做参考。(15分钟)4、让学生先不要用VS2010进行编程,而是学习在线平台第五章1、2、3小节的内容,用于巩固之前讲师讲解的知识,讲师可随时辅导答疑。(45分钟)5、布置作业(需在下一次上课之前完成):完成在线平台第五章LostCraft项目1、2、3、4小节的学习 面向对象程序设计 课程教案编制日期: 2017 年2 月6 日授课时间第 5 周 课次9、10授课方式(请打)理论课R 讨论课 实践课R 习题课R 其他R课时安排4教学单元:第5章 类与对象的实现目的、要求: 熟练掌握通过类图进行类的声明与实现过程熟练掌握并理解两种方式实现对象实例化熟练掌握并理解销毁对象重点:两种方法实现对象实例化使用delete关键字销毁对象难点:两种方法实现对象实例化 教学步骤:1、 利用VS2010工具演示并讲解2、 学生利用VS2010工具进行编程训练,讲师随堂辅导答疑3、查阅学习平台数据反馈指导课堂(根据学生实际情况进行辅导)教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)1、利用VS2010工具进行代码演示,演示过程中讲解知识点2、利用智慧学习平台进行自主学习,学习过程中助教进行辅导答疑3、根据在线平台统计的重难点,错误较多的习题,进行讲解。作业和思考题: 习题:完成在线平台第五章LostCraft项目所有内容的学习,即1-5小节教 学 内 容板书或旁注第一次课(讲师2课时)1、 结合类图,利用VS2010工具演示LostCraft游戏中其他三个类的声明与实现(所有的函数无需具体实现代码),并针对每个类实例化多个对象。(25分钟)n 根据类图,利用VS2010工具实现英雄类的声明,然后将所有的函数进行无具体实现,最后在main函数中进行对象实例化,测试类是否正确。此过程一边代码编写,一边进行讲解。n 根据类图,利用VS2010工具实现怪物类的声明,然后将所有的函数进行无具体实现,最后在main函数中进行对象实例化,测试类是否正确。此过程一边代码编写,一边进行讲解。n 根据类图,利用VS2010工具实现场景类的声明,然后将所有的函数进行无具体实现,最后在main函数中进行对象实例化,测试类是否正确。此过程一边代码编写,一边进行讲解。注意:建议讲师将该段代码保留,用于下一次方便讲解new关键字。2、 让学生先不要用VS2010进行编程,而是学习在线平台第五章第5小节的内容,讲师可随时辅导答疑。(65分钟)3、布置作业:完成在线平台第五章LostCraft项目所有内容的学习,即1-5小节第二次课(讲师2课时)1、仍然使用LostCraft项目为例,讲解new与delete关键字知识点(25分钟)n 将上一次课程进行对象实例化的地方,进行修改,通过new关键字实现对象实例化,并简单讲解两者区别:Ø 不使用new关键字:在栈中创建一个内存空间存储对象。Ø 使用new关键字:在栈中创建一个内存空间存储地址,在堆中存储对象。n 使用new创建完对象后,回顾知识点:对象可以被创建也可以被销毁。从而引出delete关键字,删除一个对象。并讲解使用delete关键字删除对象的优势。2、 学生利用VS2010工具创建一个LostCraft项目,并练习讲师所讲内容,讲师随时辅导答疑(65分钟) 面向对象程序设计 课程教案编制日期: 2017 年2 月6 日授课时间第 6 周 课次11、12授课方式(请打)理论课R 讨论课 实践课R 习题课R 其他R课时安排4教学单元:第6章 深入面向对象函数(LostCraft游戏)目的、要求: 熟练掌握并理解成员函数熟练掌握并理解函数重载熟练掌握并理解构造函数重点:函数重载的实现条件构造函数的概念、特点以及调用方式难点:构造函数的概念、特点以及调用方式 构造函数的重载教学步骤:1、利用VS2010工具演示并讲解2、学生利用VS2010工具进行编程训练,讲师随堂辅导答疑3、查阅学习平台数据反馈指导课堂(根据学生实际情况进行辅导)教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)1、利用VS2010工具进行代码演示,演示过程中讲解知识点2、利用智慧学习平台进行自主学习,学习过程中助教进行辅导答疑3、根据在线平台统计的重难点,错误较多的习题,进行讲解。作业和思考题:习题:1、 第一次课结束后完成在线平台第六章(LostCraft游戏)第1、2两小节内容2、 第二次课结束后完成在线平台第六章(LostCraft游戏)第3、4两小节内容教 学 内 容板书或旁注第一次课(讲师2课时)1、通过找女朋友案例,利用VS2010工具讲解函数重载。(共计45分钟)场景描述:某一天深夜,503宿舍的4个男生们照例开起了夜谈会,而这次的主题就是“找女朋友”,这时A男生说道:“我找女朋友的条件很简单,年龄在22岁以下就行啦!”,B男生听到后撇撇嘴说:“切!要求这么低,我不仅要求年龄在22岁以下,身高也必须在158cm以上才行!”,听到这里,C男生调侃道:“如果是这样,那我的要求就是女朋友要年龄22岁以下,身高在159.5cm以上,少一点都不行,哈哈!”,此时一直没说话的D男生终于缓缓开口道:“你们还有要求?我觉得只要是个女的就可以啦!”。n 从一个场景中设计出类与对象(10分钟)Ø 对象:503宿舍、男生A、男生B、男生C、男生DØ 类:宿舍、男生注意:由于该案例中,宿舍该类并无实际作用,因此可忽略不计,所以该案例中只保留“男生”类。Ø 男生类属性:姓名、年龄.注意:该类中这些属性也可以暂时忽略不计。Ø 男生类行为:找女朋友n 类的声明与实现(10分钟)针对上述描述,通过分析我们设计出一个“男生”类,而这跟个男生类中除了应有的属性之外,都有一个共同的行为,即“找女朋友”,代码可见下图所示:但是,这个类显然不符合我们的实际案例描述,因为我们发现A、B、C、D四个男生虽然都有共同的行为,但是找女朋友的条件却是不同的。A男生:年龄在22岁以下B男生:年龄在22岁以下,身高在158cm以上C男生:年龄在22岁以下,身高在159.5cm以上D男生:无要求n 函数重载的声明、实现及调用(15分钟)说明:虽然是同样的行为“找女朋友”,但是因为条件不同,我们并不会混淆行为和男生的关系,例如:行为是无要求找女朋友的,我们就一定知道是D男生的行为,因此,将现实的推理映射到我们的代码上,我们可以推断出实现函数重载的条件为:通过参数列表来区分。通过对比A男生和B男生,我们发现条件(即参数)个数不同,可以区分函数不同;而通过对比B男生和C男生,我们发现条件(即参数)类型不同,也可以区分函数不同。Ø 参数个数不同:void FindGF(int age); / A男生的条件:年龄void FindGF(int age, int height); / B男生的条件:年龄、身高Ø 参数的类型不同:void FindGF(int age, int height); / B男生的条件:年龄、整数身高void FindGF(int age, double height); / C男生的条件:年龄、小数身高注意:仅仅是函数返回值不同并不能区分两个函数。û 例如:bool FindGF(int age); / 代码Avoid FindGF(int age); / 代码B错误说明:上述代码A和代码B参数列表都一样,都只传了一个int类型的整数,而返回值却不一样,但是他们并不是函数重载,因为在函数调用的时候,我们都是运用FindGF(18)这样就出现了一个问题,仅仅通过调用是无法知道使用的是代码A还是代码B。n 对象实例化(两种实现方式)(10分钟)最后,在Boy类中实现四种函数重载,然后在main函数中进行对象实例化(利用两种方式实现),能够加深学生对知识点的运用。总结并再次强调函数重载的概念以及实现条件。2、学生利用在线学习平台自主学习,学习内容为第六章(LostCraft游戏)1、2两小节,讲师随时进行辅导答疑。(45分钟)3、布置作业(需在下一次上课之前完成):完成在线平台第六章(LostCraft游戏)第1、2两小节内容。第二次课(讲师2课时)1、利用VS2010工具讲解构造函数。(共计35分钟)n 回顾LostCraft游戏中的4个类图,并引出构造函数(5分钟)通过回顾类图发现除了技能类之外,几乎每一个类都有一个初始化的功能,例如在场景类中的initScenario()函数,该函数在创建场景对象之后调用。Scenario s;s.initScenario();同样的道理,我们发现每一个对象在创建之后,都需要手动的进行一些初始化行为。 提出问题:有没有一种方法,让我们能够在对象创建的同时,就自动的针对该对象进行初始化行为调用呢?n 构造函数的特点:与类同名、没有返回值(5分钟)Ø 先不讲解构造函数,而是将场景类中的初始化代码更改到构造函数中,然后删除main函数中的s.initScenario();运行程序展示结果。Ø 引出构造函数的特点:与类同名、没有返回值Ø 引出构造函数的功能:初始化n 构造函数的自动调用与对象实例化(10分钟)强调:如果在类中没有手动定义该类的构造函数,该类也可以进行对象实例化。因为当创建该类的对象时,即使没有手动编写该函数,但程序也会默认存在该类的构造函数,并进行调用,只不过在程序上无体现。此时,我们可以直接删除Scenario(void)函数,然后再点击“调试”按钮,会发现程序仍然可以运行,并且不会报错,只不过在屏幕上没有任何显示,那是因为程序默认的构造函数是没有实际内容的。n 构造函数的重载(10分钟)说明构造函数作为成员函数的一种,也可以实现函数重载,同样通过参数列表不同来区分。编写几个不同的构造函数重载,然后结合对象实例化进行演示。n 总结构造函数知识点(5分钟)2、学生利用在线平台自主学习,学习内容为第六章(LostCraft游戏)第3小节,讲师随时进行辅导答疑(55分钟)3、布置作业(需在下一次上课之前完成):完成在线平台第六章(LostCraft游戏)第3、4两小节内容 面向对象程序设计 课程教案编制日期: 2017 年2 月7 日授课时间第 7 周 课次13、14授课方式(请打)理论课R 讨论课 实践课R 习题课R 其他R课时安排4教学单元:第6章 深入面向对象函数(LostCraft游戏)、第6章 深入面向对象函数(HR服务平台)目的、要求: 能够独立完成LostCraft游戏的编写熟练掌握并理解set/get函数的意义及编程技巧熟练掌握并理解this指针重点:完成LostCraft游戏1.0版本的实现难点: 完成LostCraft游戏1.0版本的实现教学步骤:1、利用VS2010工具演示并讲解2、学生利用VS2010工具进行编程训练,讲师随堂辅导答疑3、查阅学习平台数据反馈指导课堂(根据学生实际情况进行辅导)教具及教学手段:(如:举例讲解、多媒体讲解、模型讲解、实物讲解、挂图讲解、音像讲解等)1、利用VS2010工具进行代码演示,演示过程中讲解知识点2、利用智慧学习平台进行自主学习,学习过程中助教进行辅导答疑3、根据在线平台统计的重难点,错误较多的习题,进行讲解。作业和思考题:习题:1、 布置作业(需在第九周第二次课结束的时候提交):完成LostCraft1.0版本的实现2、 布置作业(需在下一次上课之前完成):完成在线平台第六章(HR服务平台)第1、2、3三小节内容教 学 内 容板书或旁注第一次课(讲师2课时)1、 学生利用在线平台自主学习,学习内容为第六章(LostCraft游戏)第5小节,讲师随时进行辅导答疑(90分钟)2、布置作业(需在第九周第二次课结束的时候提交):完成LostCraft1.0版本的实现第二次课(讲师2课时)1、学生利用在线平台自主学习,学习内容为第六章(HR服务平台)第1小节,讲师随时进行辅导答疑(45分钟)2、利用VS2010讲解封装技巧get/set方法,以及this关键字(25分钟)n 以HR项目为主,以User类为例,首先回顾User类的基本设计。n 根据类图写出对应的代码,并对象实例化。然后通过对象直接调用_name和_password属性,演示private权限下的属性不可外部调用。n 提出思考:在现实生活中,往往被隐藏的内容也有需要被使用的时候,例如U盘,数据虽然是被隐藏,但是却可以在特殊的情况下(有电脑的时候)被读取和修改数据。那么在C+中如何体现?n 修改代码,增加set/get函数,然后进行数据存储/读取的实现。并讲解set/get函数的使用技巧与优势。n 提出注意事项:一般建议set和get函数的命名格式为set + 属性名、get + 属性名,这样便于理解,但需要强调的是,set和get不过都是函数的名字而已,因此是由用户自己命名,没有强制要求必须使用set或get来命名,只要该函数接口是public类型的,功能能够正常实现,函数名是什么无所谓。n 讲解完set/get函数以后,在set函数中修改代码,将形参的名称与User类中的属性名称改成一致的,然后提问:此时的赋值语句是谁赋值给谁?n 引入thiis指针进行区分,并讲解this指针。

    注意事项

    本文(面向对象程序设计课程教案.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开