




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.1面向对象程序设计的基本思想(一)教学设计思想与理论依据:《算法与程序设计》模块的教学强调通过该模块的学习,学生应当体验客观世界的计算机对象化表征和算法思维,掌握几种基本算法;能运用面向对象的方法,设计解决简朴问题的算法,并能初步使用一种面向对象的程序设计语言,编制程序实现算法解决该问题。(二)教学内容分析教材以广东教育出版社出版的信息技术(选修一)《算法与程序设计》第五章第一节内容为结构框架,本节重要介绍面向对象思想产生的必然性和面向对象思想的机制,以及通过对同一个问题采用面向过程和面向对象两种不同思想解决的区别,让学生感受到面向对象程序设计的优越性。(三)学生情况分析:学生已学完教材前四章内容,基本掌握了传统的面向过程结构化程序设计方法,有一定的程序设计基础。(四)教学策略与模式:采用讲解、任务驱动、实践和学生自主学习相结合的教学方式(五)教学资源:硬件:多媒体电脑教室,投影仪,广播系统软件:学生机安装vb6.0(六)教学目的:知识与技能1.了解面向对象程序设计的基本思想和面向对象思想的由来,并可以举例说明现实世界与面向对象系统之间的相应关系。2.了解面向对象程序设计的优越性并初步理解其实现的机制。过程与方法经历分析、调试解决同一问题的两种不同实现思想的程序,初步理解面向对象程序设计的优势及面向过程程序设计的缺陷。情感态度和价值观(1)关注传统结构化程序设计存在的问题。(2)产生学习面向对象程序设计技术的愿望。(3)关注面向对象技术是当前程序设计的重要发展方向。(七)重点难点
教学重点(1)传统结构化程序设计存在的问题(2)面向对象程序设计所具有的优点。教学难点(1)面向对象思想的产生。(2)传统结构化程序设计与面向对象程序设计的基本点比较。(3)实现面向对象程序设计的基本机制。教学过程:引入:请同学们阅读本节课文最前面的引导文字段,一分钟后请同学发言。通过引导抛出结论:“结构化程序设计存在固有的缺陷:以功能为核心,数据和函数分开,使得后期维护难,安全性差等且不适合解决复杂问题。”新课讲解:一.面向对象思想的产生:1.教师讲解介绍面向对象技术是程序设计发展的必然趋势2.讲解面向对象技术的思想(1)面向对象程序设计(ObjectOrientedProgramming,简称OOP),是基于一种很自然和朴素的思想。计算机软件开发的过程就是人们使用各种计算机语言将现实世界映射到计算机世界的过程。(2)举例说明现实世界与面向对象系统之间的相应关系:面向对象系统求解空间具体事物;一个对象学生的实例面向对象系统求解空间具体事物;一个对象学生的实例抽象概念:学生类现实问题空间物质:一个学生张三意识:学生二.面向对象程序设计:活动一:以下是解决学生成绩的两个程序,学生成绩1.vbp用面向过程的方法设计,学生成绩2.vbp用面向对象的方法编写,试比较它们。1、打开学生成绩1.vbp;阅读并运营该程序(见程序一)。'程序一PrivateSubForm_click()DimiAsInteger,nAsInteger
‘n为学生数DimStNameAsStringDimsc1AsIntegerDimsc2AsIntegerDimsc3AsIntegerDimtotalAsSingleDimpromptAsStringn=Val(InputBox("输入学生数"))Print"姓名"&vbTab&"成绩1"&vbTab&"成绩2"&vbTab&"成绩3"&vbTab&"加权总分"&vbTab&"证书类型"Fori=1TonStName=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)&vbTabIf(sc1>=85Andsc2>=85Andsc3>=85)Then
Printprompt&"优秀"Else
If(total>70Andsc1>=60Andsc2>=60Andsc3>=60)Then
Printprompt&"合格"
Else
Printprompt&"不合格"
EndIfEndIfNextiEndSub立即行动:阅读本程序请问答(1)找出程序中计算总分的语句。
(2)找出程序中判断证书类型的语句。2、打开学用面向对象方法生成的学生成绩2.vbp。运营该程序后界面如下图所示:讨论:两个程序的执行过程有什么不同?3、观测“学生成绩2.vbp”的程序(见程序二)。'程序二'定义学生类DimstuAsNewStudentDimnAsInteger
‘n为学生数'窗体启动PrivateSubForm_Load()labN.Caption=1
‘学生序号标签显示1EndSub'单击“解决”按钮事件PrivateSubCommand1_Click()DimStuRecAsStringDimStNameAsStringDimsc1AsIntegerDimsc2AsIntegerDimsc3AsIntegerStName=TxtName.Textsc1=Val(TxtScore1.Text)sc2=Val(TxtScore2.Text)sc3=Val(TxtScore3.Text)'将学生的信息赋给对象
用红色标出的语句所有是stu对象的方法调用。提示Callstu.SetInf(StName,sc1,sc2,sc3)'输出结果StuRec=stu.GetName()&vbTabStuRec=StuRec&stu.GetScore(1)&vbTab&stu.GetScore(2)&vbTab&stu.GetScore(3)StuRec=StuRec&vbTab&stu.GetTotal()&vbTab&stu.Judge()List1.AddItemStuRecn=n+1labN.Caption=n+1'文本框清零TxtName=""TxtScore1=0:TxtScore2=0:TxtScore3=0TxtName.SetFocusEndSub立即行动:阅读本程序问答(1)找出程序中计算总分的语句。
(2)找出程序中判断证书类型的语句。4、分别在程序一和程序二的计算总分和判断证书类型的语句之间添加语句“SC1=0”,再次运营两个程序,看结果有什么不同。小提醒:由于半途改变了软硬件基础成绩数据,使得程序一的运营结果受到了影响,而程序二不会受任何影响。活动二
从VB的类模块中结识类、对象和实体1、双击“学生成绩2.vbp”程序的工程资源管理窗口中类模块下的“student”,打开类模块代码窗口,如下图所示
2、阅读其中的程序,如下图所示:'定义存放学生姓名的变量和存放三门课成绩的数组Privatem_nameAsStringPrivatem_score(3)AsInteger'实现获得学生姓名的方法PublicSubSetInf(nameAsString,s1AsInteger,s2AsInteger,s3AsInteger)m_name=namem_score(1)=s1m_score(2)=s2m_score(3)=s3EndSub'实现输出学生信息的方法PublicFunctionGetName()AsString
GetName=m_nameEndFunctionPublicFunctionGetScore(indexAsInteger)AsInteger
GetScore=m_score(index)EndFunction'实现计算总分的方法PublicFunctionGetTotal()AsSingleGetTotal=m_score(1)*0.2+m_score(2)*0.5+m_score(3)*0.3EndFunction'实现判断证书类型的方法PublicFunctionJudge()AsStringIfm_score(1)>=85Andm_score(2)>=85Andm_score(3)>=85Then
Judge="优秀"ElseIfGetTotal()>70Andm_score(1)>=60Andm_score(2)>=60Andm_score(3)>=60Then
Judge="合格"
Else
Judge="无"EndIfEndFunction立即行动:阅读以上学生类定义程序段后(1)
写出Student类中定义学生属性的部分m_name用于表达
m_score(3)用于表达
(2)写出Student类中定义方法的部分。
子过程SetInf的作用是获取学生对象的姓名和三门课成绩;
函数GetScore的作用是输出学生对象的姓名和三门课成绩;
函数GetName的作用是
函数Judge的作用是
假如要计算四门课的成绩,该如何修改程序一和程序二,两者的修改方法有什么不同?归纳总结:两种程序设计方法的异同1、运营机制不同程序一的运营过程完全由程序控制,什么时候输入数据,什么时候计算得出结果,都是由程序员预先设计好的,不能半途予以改变。若某用户在输入完第一个学生成绩的硬件基础成绩,开始输入文字出理技巧成绩时,发现先前输入的成绩错了,需要修改,这时只能结束程序,重新运营后再次输入,而无法回到上一步修改输入。程序二则不同,用户可随时根据自己的意愿与应用程序进行交互。2、安全性不同前面的活动一,在两个程序中仅仅添加了改变软硬件基础成绩数据这一语句,程序一的运营结果受到了影响,和用户预期的结果相差甚远,而程序二则没有受到任何影响。试想一下,假如在一个由数十人甚至数百人合作开发的大型软件系统中,万一需要修改某一数据,对于使用面向过程方法设计编写的程序来说,其后果是不可预计的。而对于使用面向对象的程序设计方法编写的程序则相对安全得多。此外,在程序二中不能使用变量赋值语句改变Student类模块中的变量值,如m_name=”冯海”,也就是说不能随意改变某一学生对象的姓名等数据。因素是类里的m_name等变量的定义语句使用了Private限定词,只允许在类里使用这些变量,而对于主程序,必须通过调用类中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民营银行AI应用企业制定与实施新质生产力战略研究报告
- 智能投顾与人工顾问结合服务模式行业深度调研及发展战略咨询报告
- 自闭症沟通训练卡行业跨境出海战略研究报告
- 艺术品画廊连锁经营企业制定与实施新质生产力战略研究报告
- 舞蹈基础与体能训练课程行业跨境出海战略研究报告
- 南充市南部县人民医院招聘笔试真题2024
- 华远国际陆港集团所属企业招聘笔试真题2024
- 在线金融教育课程企业制定与实施新质生产力战略研究报告
- 光储微电网搭建行业深度调研及发展战略咨询报告
- 物流公司综合管理部经理岗位职责
- 健康医疗大数据分析合同
- 《SLT 377-2025水利水电工程锚喷支护技术规范》知识培训
- 2024-2025学年人教版(2024)七年级数学下册第八章实数单元检测(含答案)
- 膀胱癌部分切除护理查房
- 儿童心理健康与家庭教育关系
- 2025届山东省临沂市高三下学期一模考试英语试卷(含解析)
- 2025年河南水利与环境职业学院单招职业倾向性测试题库学生专用
- 2025年人体捐献协议
- 《专业咖啡制作技术》课件
- 印刷行业售后服务质量保障措施
- 《急性阑尾炎幻灯》课件
评论
0/150
提交评论