第3章面向对象上教学设计Word文件下载.docx
- 文档编号:13959594
- 上传时间:2022-10-15
- 格式:DOCX
- 页数:11
- 大小:56.94KB
第3章面向对象上教学设计Word文件下载.docx
《第3章面向对象上教学设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《第3章面向对象上教学设计Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
标及基
本要求
要求学生理解面向对象的程序设计思想,掌握类的设计、对象的创建、类的封装、构造方法的定义及其重载、this和StatiC关键字的使用以及单例设计模式,了解垃圾回收机制、内部类和文档注释的的使用
重点及
措施
教学重点:
类的定义、对象的创建、类的封装、构造方法的定义和重载、this和StatiC关键字的使用、单例设计模式
难点及
教学难点:
类与对象的创建和使用、构造方法重载的规则、
this关键字和StatiC关键字的使用、单例设计模式
教学方
式
教学采用教师课堂讲授为主,使用教学PPT讲解
第一课时
(面向对象的概念、类与对象、类的定义、对象的创建与使
用)
教
丄面向对象的概念
学
什么是面向对象
过
面向对象是一种符合人类思维习惯的编程思想。
现实
程
生活中存在各种形态不同的事物,这些事物之间存在着各
种各样的联系。
在程序中使用对象来映射现实中的事物,
使用对象的关系来描述事物之间的联系,这种思想就是面
向对象。
面向对象的好处
同面向过程进行比较,面向对象的好处是:
代码的复用性提高
・使用者无须关心具体的实现细节
・转变程序员的角色,更加符合人的思维习惯
面向对象的特征
・封装性:
・继承性:
・多态性:
4类与对象的关系
用具体的例子引导。
例如:
玩具和玩具模型的关系。
玩具就貝玩Mte貝
在上面的图中,玩具模型可看作是一个类,一个个玩具
可看作对象。
玩具是由玩具模型创建出来的,同理,对象是
根据类创建出来的,并且一个类可以创建多个对象。
总结
类用于描述多个对象的共同特征,它是对象的模板。
对象用于描述现实中的个体,它是类的实例。
4类的定头
为什么定义类
由于对象是虚拟出来的东西,是看不见摸不着的,我们需要在程序中使用对象,就必须找到描述对象的方式,定义一个类就可以解决这个问题。
类的定义
将一系列特征相似的对象中的共同属性和方法抽象出来用一段特殊的代码来进行描述,这段特殊的代码我们就称之为一个类。
类使用ClaSS关键字来进行定义,后面跟上类的名称。
定义一个类,并针对这个类进行讲解。
CIassPerSOn{
成员变量的初始化
当一个对象被创建时,JaVa虚拟机会对其中各种类型的成员变量自动进行初始化赋值。
基本数据类型初始化值为0,引用数据类型初始化值为nulI,具体如下表所示。
初胎≡
byte
ShOrt
int
IOng
OL
float.
0.0F
double
0.0D
ChaX
Λu000θ7(表示为空)
boolean
FaIge
AlIreferenceIyPe
HUU
对象的生命周期
每个创建的对象都有自己的生命周期,对象只能在其有效的生命周期被使用。
当没有任何变量引用这个对象时,它将成为垃圾对象,不能再被使用。
对象变成垃圾的第一种情况:
J
<
PerSorLpl=r
■■■
}
Ie-WPerSon();
i
:
Person对象被引用
离开作用域Pl失效,PerS□n3t象成为垃圾
对象变成垃圾的第二种情况:
Person.Pl=newPerSOn();
•∙∙
Pl=null;
第二课时
(类的设计、类的封装、构造方法的定义和重载、this关键字)
丄类的设计
在JaVa中,对象是通过类创建出来的。
因此,在程序设计时,最重要的就是类的设计。
例如,要在程序中描述一个学校所有学生的信息,可以先设计一个学生类(StUdent),在这个类中定义两个属性name^age分别表示学生的姓名和年龄,定义一个方法introduce0表示学生做自我介绍,具体代码如下:
PUbIicCIassStUdent{
Stringname;
intage;
PUblicVOidirτtroduceO{
貢命令提示符
D:
XcnXitcast∖cħapterfl3>
jauaEXalnDIef13
3
—1
K豕聊我叫李芳,我今年包岁,
d
量名”的方式访问
特点
静态变量在类加载的时候就完成了初始化,它可以
被所有实例所共享。
注意的问题
StatiC关键字只能用于修饰成员变量,不能用于修饰局部变量。
厶静态方法
定义
被StatiC修饰的方法称为静态方法。
引用方式
静态方法可以使用“类名.方法名”的方式访问。
注意的问题
・静态方法內部不能直接访问外部非静态的成员。
・在静态方法内部,只能通过创建该类的对象来访问外部的非Static的方法。
・在静态方法中,不能使用this关键字。
丄静态代码块
被StatiC修饰的代码块称为静态代码块。
静态代码块在类加载的时候就执行了,它一般用于
初始化类的成员变量。
*单例模式
什么是设计模式
针对某一问题的最佳解决方案,我们在程序中称之为设
计模式。
设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。
设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免得我们自己再去思考和摸索。
单例设计模式的定义
所谓类的单例设计模式,就是采取一定的方法保证在整个软件系统中,某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
单例设计模式的特征
・将构造方法私有化。
・对外提供一个公有的get方法,让别人通过此方法来获得实例。
・由于不能创建对象,所以get方法必须静态,这样别人才能使用“类名.方法名”的方式访问。
・需要保证单例,所以要提供一个静态变量记住一个实例,用于返回。
・该实例应该私有,禁止外界通过直接访问进行改
动。
单例模式的示例代码
下面是一个实现了单例设计模式的程序。
CIassSingle{
部类名变量名二new外部类名O.new内部类名
成员内部类特点
内部类可以直接访问外部类的成员,而外部类不能直接访问内部类的成员。
丄静态内部类
被StatiC修饰的内部类称为静态内部类。
外部类名.内部类名变量名二new外部类名.内部类名
・非静态的内部类中不能声明静态的成员
・StatiC修饰的内部类中可以定义非StatiC修饰
的成员
・StatiC修饰的内部类中不能访问外部非StatiC
*方法内部类
在成员方法中定义的类称为方法内部类。
内部类名变量名二new内部类名();
・方法内部类只能在当前方法中使用
・方法内部类不能访问方法中定义的局部变量,除
非这个局部变量被声明为final
丄JaVa帮助文档
文档注释的格式
文档注释以“/**”开始,以“*/”标志结束。
生成文档的命令
javadoc-d.-VerSiOn-author
文档注释中某些特殊的标记说明
©
author:
用于对类的说明,表示这个程序的作者
version:
用于对类说明,表示这个程序的开发版本号
⅜aram:
用于对方法的说明,表示方法上定义的参数以及参数对应的说明
return:
用于对方法的说明,表示方法的返回值代表的意义
JDK帮助文档的分类
・OraeIe公司官方发布的HTML格式的JDK帮助文档,可以从OraCle公司的官方网站下载。
・JaVa爱好者根据官方文档制作而成的CHM格式的JDK帮助文档,它具有独特的搜索功能和不同的语言版本,被许多开发者所钟爱。
第五课时
上机练习1(总结,测试题)
1、总结本章内容
2、通过题库发放相关测试题,检查学生掌握情况。
上机练习主要针对本章中需要重点掌握的知识点,以及在程序中容易出错的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对代码的熟练程度。
上机一:
(考察知识点为类的定义)
请按照以下要求设计一个StUdent类。
要求如下:
DStUdent类中定头两个成员变量name和age,分别表示学生的姓名和年龄,其中,变量name是String类型,初始值为“张三”,变量age是int类型,初始值为19o
2)StUdent类中定义一个成员方法SPeak(),表示学生说话的行为,在方法中访问name和age两个成员变量,输出学生的姓名和年龄。
上机二:
(考察知识点为类的封装)
D针对上机一中的StUdent类进行修改,使用封装的方式,将name属性和age属性使用PriVate关键字修饰为私有属性,并对外提供公有的getName()、SetNanle(Stringn)、getAge()和SetAge(inta)方法。
2)在SetAge(inta)方法中对传入的参数进行检查,如果传入的参数为负数,则输出“设置的年龄不合法”,如果不为负数,则输出设置的age值。
3)定义一个测试类,在main()方法中创建StUdent对象,并调用对象的SetName(Stringn)和SetAge(inta)方法来设置的name属性和age属性值,然后并调用SPeak()方法输出相应信息。
上机三:
(考察知识点为构造方法重载)
D在StUdent类中定义三个重载的构造方法,一是无参的构造方法,二是接收一个String类型的构造方法,该方法用于为name属性赋值,三是接收两个参数的构造方法,该方法用于为name、age属性赋值。
2)定义一个测试类,在mian()方法中创建三个StUdent对象,并在创建对象时为name、age属性赋值。
第六课时
上机练习2(测试题)
(考察知识点为单例模式)
请按照以下要求设计一个单例模式的SingletOn类。
D为了确保外界不能创建该类的实例对象,需要将该类的构造方法设置私有,即使用PriVate关键字修饰。
2)由于外界不能创建实例对象,我们只有在定义的类中创建该类的实例对象,并且需要定义一个静态变量
INSTANCE引用此实例对象,为了让外界不能通过的方式访问该变量,还需要将该变量使用PriVate关键字修饰。
3)为了让外界使用INSTANCE实例对象,还需提供一个静态方法将这个实例对象返回。
(考察知识点为方法内部类)
请按照以下要求设计一个OUter类。
D定义一个外部类Outer,并在该类中定义一个静态内部类Innero
2)在内部类中定义一个静态变量StatiCField和一个静态方法StatiCMethOd(),并将该变量的值设置为"
静态内部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 教学 设计