




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课题:面向对象程序设计的基本思想(一)教学设计思想与理论依据:算法与程序设计模块的教学强调通过该模块的学习,学生应该体验客观世界的计算机对象化表征和算法思维,掌握几种基本算法;能运用面向对象的方法,设计解决简单问题的算法,并能初步使用一种面向对象的程序设计语言,编制程序实现算法解决该问题。(二)教学内容分析教材以广东教育出版社出版的信息技术(选修一)算法与程序设计第五章第一节内容为结构框架,本节主要介绍面向对象思想产生的必然性和面向对象思想的机制,以及通过对同一个问题采取面向过程和面向对象两种不同思想解决的区别,让学生感受到面向对象程序设计的优越性。(三)学生情况分析:学生已学完教材前四章内容
2、,基本掌握了传统的面向过程结构化程序设计方法,有一定的程序设计基础。(四)教学策略与模式:采用讲解、任务驱动、实践和学生自主学习相结合的教学方式(五)教学资源: 硬件:多媒体电脑教室,投影仪,广播系统 软件:学生机安装vb6.0(六)教学目标:知识与技能1.了解面向对象程序设计的基本思想和面向对象思想的由来,并能够举例说明现实世界与面向对象系统之间的对应关系。2.了解面向对象程序设计的优越性并初步理解其实现的机制。过程与方法经历分析、调试解决同一问题的两种不同实现思想的程序,初步理解面向对象程序设计的优势及面向过程程序设计的缺陷。情感态度和价值观(1)关注传统结构化程序设计存在的问题。(2)产
3、生学习面向对象程序设计技术的愿望。(3)关注面向对象技术是当前程序设计的重要发展方向。(七)重点难点 教学重点(1)传统结构化程序设计存在的问题(2)面向对象程序设计所具有的优点。教学难点(1)面向对象思想的产生。(2)传统结构化程序设计与面向对象程序设计的基本点比较。(3)实现面向对象程序设计的基本机制。教学过程:引入:请同学们阅读本节课文最前面的引导文字段,一分钟后请同学发言。通过引导抛出结论:“结构化程序设计存在固有的缺陷:以功能为核心,数据和函数分开,使得后期维护难,安全性差等且不适合解决复杂问题。”新课讲解:一.面向对象思想的产生:1.教师讲解介绍面向对象技术
4、是程序设计发展的必然趋势2. 讲解面向对象技术的思想(1)面向对象程序设计(Object Oriented Programming,简称OOP),是基于一种很自然和朴素的思想。计算机软件开发的过程就是人们使用各种计算机语言将现实世界映射到计算机世界的过程。(2)举例说明现实世界与面向对象系统之间的对应关系:面向对象系统求解空间具体事物; 一个对象 学生的实例抽象概念: 学生类现实问题空间物质: 一个学生张三意识: 学生 二.面向对象程序设计:活动一:以下是处理学生成绩的两个程序,学生成绩1.vbp用面向过程的方法设计,学生成绩2.vbp用面向对象的方法编写,试比较它们。1、 打开学生成绩1.v
5、bp;阅读并运行该程序(见程序一)。'程序一Private Sub Form_click()Dim i As Integer, n As Integer n为学生数Dim StName As StringDim sc1 As IntegerDim sc2 As IntegerDim sc3 As IntegerDim total As SingleDim prompt As Stringn = Val(InputBox("输入学生数")Print "姓名" & vbTab & "成绩1
6、" & vbTab & "成绩2" & vbTab & "成绩3" & vbTab & "加权总分" & vbTab & "证书类型"For i = 1 To nStName = InputBox("输入第" & i & "位同学的姓名")sc1 = Val(InputBox("输入该同学的软硬件基础成绩")sc2 = Val(InputBox("输入该同学
7、的文字处理技巧成绩")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) & vbTabIf (sc1 >= 85 And sc2 >= 85 And sc3 >
8、;= 85) Then Print prompt & "优秀"Else If (total > 70 And sc1 >= 60 And sc2 >= 60 And sc3 >= 60) Then Print prompt & "合格" Else Prin
9、t prompt & "不合格" End IfEnd IfNext iEnd Sub马上行动:阅读本程序请问答(1)找出程序中计算总分的语句。 (2)找出程序中判断证书类型的语句。2、打开学用面向对象方法生成的学生成绩2.vbp。运行该程序后界面如下图所示:讨论:两个程序的执行过程有什么不同?3、观察“学生成绩2.vb
10、p”的程序(见程序二)。'程序二'定义学生类Dim stu As New StudentDim n As Integer n为学生数'窗体启动Private Sub Form_Load()labN.Caption = 1 学生序号标签显示1End Sub'单击“处理”按钮事件Private Sub Command1_Click()Dim StuRec As StringDim StName As StringDim sc1 As IntegerDim sc2 As IntegerDim sc3 As IntegerStName = Txt
11、Name.Textsc1 = Val(TxtScore1.Text)sc2 = Val(TxtScore2.Text)sc3 = Val(TxtScore3.Text)'将学生的信息赋给对象 用红色标出的语句全部是stu对象的方法调用。提示Call stu.SetInf(StName, sc1, sc2, sc3)'输出结果StuRec = stu.GetName() & vbTabStuRec = StuRec & stu.GetScore(1) & vbTab & stu.GetScore(2) & vbTab
12、 & stu.GetScore(3)StuRec = StuRec & vbTab & stu.GetTotal() & vbTab & stu.Judge()List1.AddItem StuRecn = n + 1labN.Caption = n + 1'文本框清零TxtName = ""TxtScore1 = 0: TxtScore2 = 0: TxtScore3 = 0TxtName.SetFocusEnd Sub马上行动:阅读本程序问答(1)找出程序中计算总分的语句。 &
13、#160; (2)找出程序中判断证书类型的语句。4、分别在程序一和程序二的计算总分和判断证书类型的语句之间添加语句“SC1=0”,再次运行两个程序,看结果有什么不同。小提示:由于中途改变了软硬件基础成绩数据,使得程序一的运行结果受到了影响,而程序二不会受任何影响。活动二 从VB的类模块中认识类、对象和实体1、 双击“学生成绩2.vbp”程序的工程资源管理窗口中类模块下的
14、“student”,打开类模块代码窗口,如下图所示 2、 阅读其中的程序,如下图所示:'定义存放学生姓名的变量和存放三门课成绩的数组Private m_name As StringPrivate m_score(3) As Integer'实现获得学生姓名的方法Public Sub SetInf(name As String, s1 As Integer, s2 As Integer, s3 As Integer)m_name
15、 = namem_score(1) = s1m_score(2) = s2m_score(3) = s3End Sub'实现输出学生信息的方法Public Function GetName() As String GetName = m_nameEnd FunctionPublic Function GetScore(index As Integer) As Integer GetScore = m_score(index)End Function'实现计算总分的方法Public Function GetTotal() As SingleGetTotal =
16、 m_score(1) * 0.2 + m_score(2) * 0.5 + m_score(3) * 0.3End Function'实现判断证书类型的方法Public Function Judge() As StringIf m_score(1) >= 85 And m_score(2) >= 85 And m_score(3) >= 85 Then Judge = "优秀"ElseIf GetTotal() > 70 And m_
17、score(1) >= 60 And m_score(2) >= 60 And m_score(3) >= 60 Then Judge = "合格" Else Judge = "无"End IfEnd Function马上行动:阅读以上学生类
18、定义程序段后(1) 写出Student类中定义学生属性的部分m_name用于表示 m_score(3)用于表示
19、0; (2)写出Student类中定义方法的部分。 子过程SetInf的作用是获取学生对象的姓名和三门课成绩; 函数GetScore的作用是输出学生对象的姓名和三门课成绩; 函数GetName的作用是
20、; 函数Judge的作用是 如果要计算四门课的成绩,该如何修改程序一和程序二,两者的修改方法有什么不同?归纳总结:两种程序设计方法的异同1、运行机制不同程序一的运行过程完全由程序控制,什么时候输入数据,什么时候计算得出结果,都是由程序员预先设计好的,不能中途予以改变。若某用户在输入完第一个学生成绩的硬件基础成绩,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南娄底市纪委监委、市委巡察办所属事业单位选调、招聘9人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025广西梧州学院高层次人才引进考前自测高频考点模拟试题附答案详解
- 2025年漳州能源社会招聘考前自测高频考点模拟试题及答案详解(各地真题)
- 2025年临沂市电子科技学校公开招聘教师(35名)考前自测高频考点模拟试题及参考答案详解1套
- 2025贵州省计量测试院参加第十三届贵州人才博览会引才4人模拟试卷及参考答案详解1套
- 2025年春季中国化学校园招聘考前自测高频考点模拟试题附答案详解(典型题)
- 2025广东深圳大学人文学院董理副教授博士后招聘1人模拟试卷及一套完整答案详解
- 2025北京铁路局集团招聘76人(三)模拟试卷及答案详解一套
- 2025年新能源行业企业社会责任报告撰写要点与审核流程
- 2024年黑龙江省公安厅招聘警务辅助人员考试真题及答案
- 掩耳盗铃儿童故事绘本PPT
- CIED植入围手术期抗凝治疗
- 《发现雕塑之美》第4课时《加法与减法的艺术》
- 澳门立法会间接选举制度及其实践
- 1-5年级英语单词
- GA 1551.3-2019石油石化系统治安反恐防范要求第3部分:成品油和天然气销售企业
- 2023年吉林省金融控股集团股份有限公司招聘笔试题库及答案解析
- 类风湿关节炎的中医治疗演示文稿
- 食品安全BRCGS包装材料全球标准第六版管理手册及程序文件
- 热工保护联锁投退管理规定
- (中职)旅游概论第四章 旅游业课件
评论
0/150
提交评论