面向对象程序设计的基本思想材料.doc
《面向对象程序设计的基本思想材料.doc》由会员分享,可在线阅读,更多相关《面向对象程序设计的基本思想材料.doc(13页珍藏版)》请在咨信网上搜索。
5.1面向对象程序设计的基本思想 ( 一) 教学设计思想与理论依据: 《算法与程序设计》模块的教学强调经过该模块的学习, 学生应该体验客观世界的计算机对象化表征和算法思维, 掌握几种基本算法; 能运用面向对象的方法, 设计解决简单问题的算法, 并能初步使用一种面向对象的程序设计语言, 编制程序实现算法解决该问题。 ( 二) 教学内容分析 教材以广东教育出版社出版的信息技术( 选修一) 《算法与程序设计》第五章第一节内容为结构框架, 本节主要介绍面向对象思想产生的必然性和面向对象思想的机制, 以及经过对同一个问题采取面向过程和面向对象两种不同思想解决的区别, 让学生感受到面向对象程序设计的优越性。 ( 三) 学生情况分析: 学生已学完教材前四章内容, 基本掌握了传统的面向过程结构化程序设计方法, 有一定的程序设计基础。 ( 四) 教学策略与模式: 采用讲解、 任务驱动、 实践和学生自主学习相结合的教学方式 ( 五) 教学资源: 硬件: 多媒体电脑教室, 投影仪, 广播系统 软件: 学生机安装vb6.0 ( 六) 教学目标: 知识与技能 1.了解面向对象程序设计的基本思想和面向对象思想的由来, 并能够举例说明现实世界与面向对象系统之间的对应关系。 2.了解面向对象程序设计的优越性并初步理解其实现的机制。 过程与方法 经历分析、 调试解决同一问题的两种不同实现思想的程序, 初步理解面向对象程序设计的优势及面向过程程序设计的缺陷。 情感态度和价值观 ( 1) 关注传统结构化程序设计存在的问题。 ( 2) 产生学习面向对象程序设计技术的愿望。 ( 3) 关注面向对象技术是当前程序设计的重要发展方向。 ( 七) 重点难点 教学重点 ( 1) 传统结构化程序设计存在的问题 ( 2) 面向对象程序设计所具有的优点。 教学难点 ( 1) 面向对象思想的产生。 ( 2) 传统结构化程序设计与面向对象程序设计的基本点比较。 ( 3) 实现面向对象程序设计的基本机制。 教学过程: 引入: 请同学们阅读本节课文最前面的引导文字段, 一分钟后请同学发言。经过引导抛出结论: ”结构化程序设计存在固有的缺陷: 以功能为核心, 数据和函数分开, 使得后期维护难, 安全性差等且不适合解决复杂问题。” 新课讲解: 一.面向对象思想的产生: 1.教师讲解介绍面向对象技术是程序设计发展的必然趋势 2. 讲解面向对象技术的思想 ( 1) 面向对象程序设计( Object Oriented Programming,简称OOP) , 是基于一种很自然和朴素的思想。计算机软件开发的过程就是人们使用各种计算机语言将现实世界映射到计算机世界的过程。 ( 2) 举例说明现实世界与面向对象系统之间的对应关系: 面向对象系统求解空间 具体事物; 一个对象 学生的实例 抽象概念: 学生类 现实问题空间 物质: 一个学生张三 意识: 学生 二.面向对象程序设计: 活动一: 以下是处理学生成绩的两个程序, 学生成绩1.vbp用面向过程的方法设计, 学生成绩2.vbp用面向对象的方法编写, 试比较它们。 1、 打开学生成绩1.vbp;阅读并运行该程序( 见程序一) 。 '程序一 Private Sub Form_click() Dim i As Integer, n As Integer ‘n为学生数 Dim StName As String Dim sc1 As Integer Dim sc2 As Integer Dim sc3 As Integer Dim total As Single Dim prompt As String n = Val(InputBox("输入学生数")) Print "姓名" & vbTab & "成绩1" & vbTab & "成绩2" & vbTab & "成绩3" & vbTab & "加权总分" & vbTab & "证书类型" For i = 1 To n StName = InputBox("输入第" & i & "位同学的姓名") sc1 = Val(InputBox("输入该同学的软硬件基础成绩")) sc2 = Val(InputBox("输入该同学的文字处理技巧成绩")) sc3 = Val(InputBox("输入该同学的网络技术应用成绩")) total = sc1 * 0.2 + sc2 * 0.5 + sc3 * 0.3 '输出表头 prompt = StName & vbTab & Str(sc1) & vbTab & Str(sc2) & vbTab & Str(sc3) & vbTab & Str(total) & vbTab If (sc1 >= 85 And sc2 >= 85 And sc3 >= 85) Then Print prompt & "优秀" Else If (total > 70 And sc1 >= 60 And sc2 >= 60 And sc3 >= 60) Then Print prompt & "合格" Else Print prompt & "不合格" End If End If Next i End Sub 马上行动: 阅读本程序请问答( 1) 找出程序中计算总分的语句。 ( 2) 找出程序中判断证书类型的语句。 2、 打开学用面向对象方法生成的学生成绩2.vbp。 运行该程序后界面如下图所示: 讨论: 两个程序的执行过程有什么不同? 3、 观察”学生成绩2.vbp”的程序( 见程序二) 。 '程序二 '定义学生类 Dim stu As New Student Dim n As Integer ‘n为学生数 '窗体启动 Private Sub Form_Load() labN.Caption = 1 ‘学生序号标签显示1 End Sub '单击”处理”按钮事件 Private Sub Command1_Click() Dim StuRec As String Dim StName As String Dim sc1 As Integer Dim sc2 As Integer Dim sc3 As Integer StName = TxtName.Text sc1 = Val(TxtScore1.Text) sc2 = Val(TxtScore2.Text) sc3 = Val(TxtScore3.Text) '将学生的信息赋给对象 用红色标出的语句全部是stu对象的方法调用。 提 示 Call stu.SetInf(StName, sc1, sc2, sc3) '输出结果 StuRec = stu.GetName() & vbTab StuRec = StuRec & stu.GetScore(1) & vbTab & stu.GetScore(2) & vbTab & stu.GetScore(3) StuRec = StuRec & vbTab & stu.GetTotal() & vbTab & stu.Judge() List1.AddItem StuRec n = n + 1 labN.Caption = n + 1 '文本框清零 TxtName = "" TxtScore1 = 0: TxtScore2 = 0: TxtScore3 = 0 TxtName.SetFocus End Sub 马上行动: 阅读本程序问答( 1) 找出程序中计算总分的语句。 ( 2) 找出程序中判断证书类型的语句。 4、 分别在程序一和程序二的计算总分和判断证书类型的语句之间添加语 句”SC1=0”, 再次运行两个程序, 看结果有什么不同。 小提示: 由于中途改变了软硬件基础成绩数据, 使得程序一的运行结果受到了影响, 而程序二不会受任何影响。 活动二 从VB的类模块中认识类、 对象和实体 1、 双击”学生成绩2.vbp”程序的工程资源管理窗口中类模块下的”student”,打开类模块代码窗口, 如下图所示 2、 阅读其中的程序, 如下图所示: '定义存放学生姓名的变量和存放三门课成绩的数组 Private m_name As String Private m_score(3) As Integer '实现获得学生姓名的方法 Public Sub SetInf(name As String, s1 As Integer, s2 As Integer, s3 As Integer) m_name = name m_score(1) = s1 m_score(2) = s2 m_score(3) = s3 End Sub '实现输出学生信息的方法 Public Function GetName() As String GetName = m_name End Function Public Function GetScore(index As Integer) As Integer GetScore = m_score(index) End Function '实现计算总分的方法 Public Function GetTotal() As Single GetTotal = m_score(1) * 0.2 + m_score(2) * 0.5 + m_score(3) * 0.3 End Function '实现判断证书类型的方法 Public Function Judge() As String If m_score(1) >= 85 And m_score(2) >= 85 And m_score(3) >= 85 Then Judge = "优秀" ElseIf GetTotal() > 70 And m_score(1) >= 60 And m_score(2) >= 60 And m_score(3) >= 60 Then Judge = "合格" Else Judge = "无" End If End Function 马上行动: 阅读以上学生类定义程序段后 ( 1) 写出Student类中定义学生属性的部分 m_name用于表示 m_score(3)用于表示 ( 2) 写出Student类中定义方法的部分。 子过程SetInf的作用是获取学生对象的姓名和三门课成绩; 函数GetScore的作用是输出学生对象的姓名和三门课成绩; 函数GetName的作用是 函数Judge的作用是 如果要计算四门课的成绩,该如何修改程序一和程序二,两者的修改方法有什么不同? 归纳总结: 两种程序设计方法的异同 1、 运行机制不同 程序一的运行过程完全由程序控制, 什么时候输入数据, 什么时候计算得出结果, 都是由程序员预先设计好的, 不能中途予以改变。若某用户在输入完第一个学生成绩的硬件基础成绩, 开始输入文字出理技巧成绩时, 发觉先前输入的成绩错了, 需要修改, 这时只能结束程序, 重新运行后再次输入, 而无法回到上一步修改输入。 程序二则不同, 用户可随时根据自己的意愿与应用程序进行交互。 2、 安全性不同 前面的活动一, 在两个程序中仅仅添加了改变软硬件基础成绩数据这一语句, 程序一的运行结果受到了影响, 和用户预期的结果相差甚远, 而程序二则没有受到任何影响。试想一下, 如果在一个由数十人甚至数百人合作开发的大型软件系统中, 万一需要修改某一数据, 对于使用面向过程方法设计编写的程序来说, 其后果是不可预计的。而对于使用面向对象的程序设计方法编写的程序则相对安全得多。 另外, 在程序二中不能使用变量赋值语句改变Student类模块中的变量值, 如m_name=”冯海”, 也就是说不能随意改变某一学生对象的姓名等数据。原因是类里的m_name等变量的定义语句使用了Private限定词, 只允许在类里使用这些变量, 而对于主程序, 必须经过调用类中的方法( 操作接口) , 如SetInf为其赋值。这样安全性更强了。 3、 实现具体功能的方法相同 两种方法设计的程序, 也有其共同之处, 如程序一中有实现”判断证书类型”的程序段, 程序二的Student类模块中也有实现”判断证书类型”的功能程序段, 两个程序都使用了结构化的方法来设计算法, 即都采用了选择结构。也就是说, 无论面向过程的程序, 还是面向对象的程序, 其实现具体功能的代码都采用了结构化程序设计方法来设计。 三.课外拓展 初步总结面向对象程序设计与面向过程程序设计的异同。 课外练习: 初步总结面向对象程序设计与面向过程程序设计的异同。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 基本 思想 材料
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文