《JavaScript程序设计案例教程》教案 第5章 面向对象.docx
PAGE14
PAGE14
PAGE15
PAGE15
课题
面向对象
课时
6课时(270min)
教学目标
知识目标:
(1)理解面向对象思想,了解面向对象和面向过程的区别
(2)了解对象的概念并掌握自定义对象的方法
(3)掌握如何使用构造器创建自定义对象
(4)掌握内置对象的常用属性和方法
(5)掌握对象继承的应用
能力目标:
(1)能够准确区分面向过程和面向对象的编程思想
(2)能够运用对象遍历的方法处理对象的属性
(3)能够合理运用构造器的静态属性和方法、私有属性和方法,提高代码的封装性和安全性
(4)能够在实际编程中根据需求选择合适的继承方式扩展对象的功能
素质目标:
(1) 培养精益求精、科学严谨、追求卓越的工匠精神
(2)养成良好的时间管理习惯
(3)继承优良传统,培养创新精神
教学重难点
教学重点:面向对象编程思想,封装、继承、多态三大特征的理解与应用,对象的创建与操作,使用多种方式创建自定义对象及对对象属性,构造器的运用,自定义、this关键字、静态与私有属性方法,继承的实现,多态的运用
教学难点:面向对象的抽象概念,复杂的继承实现方式,继承过程中的属性覆盖和方法重写,this关键字在不同环境下的指向,运用内置对象的众多属性和方法
教学方法
问答法、讨论法、讲授法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
课前任务
【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务
请同学们归纳,在日常生活中接触到的面向对象的概念或事物,比如汽车、手机等,思考这些事物具有哪些属性和方法,以及它们之间可能存在的继承关系,然后在APP上进行讨论。
【学生】完成课前任务
考勤
【教师】使用APP进行签到
【学生】班干部报请假人员及原因
问题导入
【教师】提出以下问题:
假如我们要开发一个游戏程序,里面有各种角色,比如战士、法师、射手等。如果用面向过程的编程思想,我们可能会把所有的代码都混在一起,难以管理和扩展。那有没有一种更好的编程方式来组织和管理这些角色呢?
【学生】聆听、思考、举手回答
传授新知
【教师】通过学生的回答,引入新知,讲解面向对象的基础知识,对象的基础知识,以及构造器、内置对象、继承的相关知识
5.1面向对象介绍
5.1.1面向过程与面向对象
面向对象是相对面向过程而言的,在正式学习面向对象之前,我们先来简单了解一下面向过程与面向对象的区别。
面向过程是以过程为中心的编程思想,是将事件拆解为一个个步骤,然后按照顺序执行每个步骤,最终完成整个事件的执行。面向对象是以对象为中心的编程思想,是将一件完整的事项进行抽象,封装为一个个对象(这些对象各司其职,每个对象都有自己的属性和方法),然后通过实例化各个对象来完成整个事件的执行。
?【教师】利用多媒体展示“面向过程和面向对象的执行过程”图片(详见教材),并进行讲解
使用面向过程思想编程时,随着程序功能的不断增加,变量、函数也相应地越来越多,各种功能的代码混杂在一起,不仅会引起命名冲突问题,还会导致代码结构混乱,难以理解和维护。而使用面向对象思想编程,则可以将具有共同属性的同类事物封装成对象,然后通过调用对象实例,完成程序的执行,这样可使代码结构清晰、层次分明。在大型项目开发中,面向对象编程能充分发挥其作用,大大提高开发效率。
?【教师】组织学生阅读“大国工匠”的内容(详见教材),并提出问题:
作为当代青年,我们从汪成为院士的身上学到了哪些品质?
?【学生】阅读、思考、举手回答
?【教师】总结学生的回答
5.1.2面向对象的三大特征
面向对象编程有三大特征,分别是封装、继承和多态。本节将对这三大特征进行简单介绍。
1.封装
封装是指隐藏对象内部的具体实现,仅对外提供操作接口。对外提供的接口就是对象自身提供给外界调用的方法,不管对象内部的实现多么复杂,使用对象的人仅需要知道如何调用该对象即可。例如,电脑的内存条内部具有相当复杂的电路结构,但我们在组装电脑时,并不需要了解内存条的内部构造,而只需要将内存条插口插到电脑的主板上即可。
……(详见教材)
【课堂讨论】
?【教师】对学生进行分组,每组选出一名组长,然后组织学生以小组为单位讨论以下问题:
举例说明什么时候应该使用封装,以及如何合理地进行封装?
?【学生】聆听、思考、小组讨论,由小组代表上台发表讨论结果
?【教师】总结学生的讨论结果
2.继承
继承是指一个对象继承另一个对象的所有属性和方法,从而实现在不改变当前对象的基础上对该对象进行功能扩展。例如,汽车和自行车都属于车,那么在具体代码实现时,可以基于车构建汽车和自行车对象,也就是使汽车和自行车继承车的属性和方法;红旗汽车和长安汽车都属于汽车,永久自行车和凤凰自行车都