教师资格证说课稿(附教案)——Java面向对象编程之封装

各位评委老师:

下午好。我是来自XXX学校的考生XX,我今天的说课题目是《面向对象编程之封装》。下面,我从说教材、说学情、说教学目标、说教法、说教学过程五个方面对本课进行说明。

一、说教材

本课选用的教材为《Java基础入门》(第2版),该教材由IT教育知名品牌“黑马程序员”编著,于2018年由清华大学出版社出版。该教材浅显易懂、案例丰富,适合大学生学习使用。本课节选自第三章《面向对象》(上),众所周知,Java语言是一种面向对象的程序设计语言,所以理解面向对象的编程思想、掌握面向对象的开发方法,对于Java语言的学习至关重要。面向对象有三大特征:封装、继承和多态,集中体现了面向对象的编程思想。本课要讲述的,即是面向对象三大特征之一的封装。

二、说学情

    本课面向是电子商务专业大三上学期的学生。他们大学刚好上完一半,已经完全适应了大学的学习生活,知道为什么学,也大致知道怎么样学,求知欲比较旺盛,应借助这些特点,引导他们在探索中学习,在学习中探索,从而将知识学深、学透。不过,这批学生在校学习期间,正值新冠疫情肆虐,很多课程,尤其是《高级语言程序设计》课程的先行课《程序设计基础》是采用线上方式进行讲授的,学生没有得到充分的练习,学习的效果不太理想。这就要求我在讲授《高级语言程序设计》这门课时,要注重基础知识部分的教学,该慢的地方得慢下来,不能因为学生学过C语言,就将基本语法一笔带过。

三、说教学目标

本课的教学目标分为知识目标、能力目标和素质目标。知识目标为理解面向对象编程中的封装思想,掌握对类的属性进行封装的方法;能力目标为提高学生分析问题和解决问题的能力;素质目标为培养学生的工匠精神和创新意识。

本课的教学重点是掌握对类的属性进行封装的方法,教学难点为理解面向对象编程中的封装思想。

四、说教法

本课主要采用讲授法、演示法、谈论法和练习法进行教学。对于重难点知识,采用讲授法一点一滴为学生解释清楚;高级语言程序设计是一门实践性非常强的课程,所有的理论知识,只有编写在程序代码中,在Java解释器中执行一遍,才具有实际意义,才能让学生产生直观和深刻的印象。所以在本课中,我将多次使用演示法进行教学,类的设计要演示,封装的方法要演示,正确代码要演示,错误的代码也要演示。

学生在课堂中处于主体地位,为了充分发挥学生的主观能动性,我将采用讨论法和练习法进行教学,弱化老师教的力量,强化学生学的力量。通过讨论,让学生深刻理解面向对象的封装思想,以此突破难点;通过练习,让学生亲手对类的属性进行封装,以此让学生掌握好重点。

五、说教学过程

本课的教学过程分为课程的导入、封装的概念介绍、未封装的“张三”案例演示、对“张三”进行封装的案例演示、引导学生思考为什么要对类进行封装、对类的属性进行封装的练习等六个环节。

教学过程的第一个环节为课程导入环节。拟向学生提问,“面向对象的三大特征有哪些?”。通过该问题既可以自然地导入封装的概念,也能加深学生对面向对象三大特征的理解。

教学过程的第二个环节,对封装的概念进行重点讲解,此处为教学的难点所在。封装的概念说起来很简单:将对象的属性和行为封装起来,不让外界知道具体实现细节。但学生初次接触,理解起来比较困难,这里重点要把概念中的外界和细节两个名词解释好,外界指的是调用这个对象的属性或行为的代码,它一定在定义这个对象的类的外部,细节指的是使外界能够调用这个对象的属性或行为的代码,它一定在定义这个对象的类的内部。说起来比较拗口,我们可以用电视机的例子来进行说明。电视机是一个对象,使用电视机的观众就属于外界,电视机的色彩和声音相当于它的属性,通过按键可以对电视机的色彩和声音进行控制,这相当于电视机的行为,至于控制色彩和声音的行为是怎么实现的,对于普通观众来说,是没有必要知道的。所以说,电视机这个对象的属性和行为被封装了。通过电视机的类比,学生就比较容易理解封装的概念了。

教学过程的第三个环节,在Eclipse中给学生演示一个没有经过封装的“张三”的案例。外界对“张三”这个对象的年龄属性进行赋值时,因为没有任何约束,所以可以直接进行赋值。这种赋值方式仅有一条赋值语句组成,没有办法进行任何限定,所以即便把张三的年龄设置成“-18”在语法上也是可以的,但这显然不符合实际情况,一个人的年龄不可能小于0。那么对属性赋值时怎么才能进行合理的约束呢?这就需要用到刚才提及的封装的概念。

教学过程的第四个环节,对“张三”所属的Person类的属性进行封装。首先给学生讲授对类的属性进行封装的方法:第一步是应用private关键字将类的属性设置成私有,不允许外界直接对它进行访问;第二步是编写两个由public关键字修饰的公有方法,即获取属性值的getXxx()方法和设置属性值的setXxx()方法;第三步,外界通过getXxx()方法和setXxx()方法访问类的属性。需要注意的是,访问对象属性的限制性语句写在上述两个方法中,对外界是不可见的。紧接着,借助Eclipse软件按照上面的方法对“张三”所属的Person类的属性进行封装,一边讲解一边演示。在应用setAge()方法对“张三”进行赋值时,一旦输入的年龄不满足条件,系统会给出"您输入的年龄不正确!"的提示,这里要提醒学生注意观察,方法体中的限制性语句是如何发挥作用的。

教学过程的第五个环节,引导学生思考为什么要对类进行封装。通过上面两个案例的对比,学生通过认真思考,能够清晰地指出封装的目的,包括但不限于:对类的属性进行保护、让外界访问类的属性变得简单等等。通过集体讨论,可以加深学生对面向对象编程的封装思想的理解,也就突破了本课的难点。

教学过程的第六个环节,布置封装练习,由学生在课堂独立完成。练习题为:设计一个Dog类,它包含两个属性:年龄和颜色,应用getXxx()方法和setXxx()方法对两个属性进行封装,并编写speak()方法,用于在屏幕上输出Dog对象的两个属性。通过该练习,学生可以将刚才学习的类的封装方法应用到实践中,通过亲自动手编写代码、调试程序,既可以巩固本课的重点知识,也提高了学生动手能力,同时还可以在一定程度上培养学生的工匠精神和创新意识。

我的说课完毕,感谢各位评委老师倾听、指导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值