JAVA面向对象程序设计教案

上传人:积*** 文档编号:121222820 上传时间:2022-07-18 格式:DOC 页数:53 大小:1.52MB
收藏 版权申诉 举报 下载
JAVA面向对象程序设计教案_第1页
第1页 / 共53页
JAVA面向对象程序设计教案_第2页
第2页 / 共53页
JAVA面向对象程序设计教案_第3页
第3页 / 共53页
资源描述:

《JAVA面向对象程序设计教案》由会员分享,可在线阅读,更多相关《JAVA面向对象程序设计教案(53页珍藏版)》请在装配图网上搜索。

1、西南财经大学天府学院教 案任课教师: 贾砚池课程名称:面向对象程序设计(Java) 任课班级: 13级专科计算机01班、13级专科网络01班、13级专科软件01班授学时间: -2学期西南财经大学天府学院教务处制教 案编号:1章节Java SE程序设计与实践的考核方式和Java简介授课方式讲授+讨论+上机教学目的(1) 掌握本课程的考核方式、即将要学习的内容以及有关的课堂纪律。(2) 理解课程整体目的。(3) 理解Java语言。(4) 理解Java程序的类型。(5) 理解Java虚拟机(JVM)。(6) 掌握Java程序运营环境的配备,可以独立完毕。(7) 培养学生实际动手能力(自主安装JDK以

2、及配备环境变量)。(8) 培养学生自主解决问题的能力。教学重点(1) 环境变量的配备和编译源文献以及Java程序打包。教学难点(1) 环境变量的配备和编译源文献以及Java程序打包。时间分派教 学 过 程Min105155101015253060一、 考核方式(讲授)(1) 考核分为两部分:a) 第一部分:平时,占60%;其中,考勤:10%;平时作业或项目:40%,涉及2次大型的作业任务,每次任务各占15%,2次及以上小型作业任务,占10%。根据项完毕的限度和质量,由教师评分,未交者得零分;平时体现分:10%,涉及课堂纪律、上课积极的参与讨论、积极回答问题及上台演示和解说程序的编写、小组作业时

3、候的团队协作能力(由组长评分)。b) 第二部分:期末项目,占40%;一次大型项目,由小组完毕。(2) 旷课3次取消考试资格,迟到3次算一次旷课。每迟到一次扣1分,旷课一次扣5分,期末全勤可加2分。(3) 课堂内看视频、玩游戏,第一次扣5分,第二次扣10分,第三次扣20分,如果超过4次者,直接取消该科的考试资格。二、 课堂纪律(讲授)(1) 上课不准吃零食、嗑瓜子等。(2) 下课后带走自己桌上的垃圾,让课桌上保持整洁。(3) 下课后关电脑(主机和显示屏)。(4) 上课不准大声喧哗、玩手机、pad、睡觉等与学习无关的事情。三、 教师信息及答疑时间设定(讲授)四、 学习小组的成立以及成员之间讨论(讨

4、论)(1) 自由分组,每个组4-6人,并选定组长,然后为每个组安排好上机位置(小构成员必须坐在一起),后来就固定座位。(2) 小组讨论:a) 互相结识,加深理解,理解各自的爱好和长项。b) 选用一种同窗为小组长。c) 探讨学习本课程的措施,并由小组长向教师报告本次讨论的成果。五、 Java语言简介(1) Java是一种程序设计语言,由Sun Microsystem公司于1995年推出;(2) 早在1991年,Sun公司的James Gosling等人开始开发名为Oak的程序设计语言,但愿用来控制嵌入在有线电视机顶盒和PDA等设备中的微解决器;(3) 1994年,Oak语言正式改名为Java;(

5、4) Java语言凭借其独有的安全性、可移植性和平台无关性,迅速走红。六、 Java可以做什么?(学生查询资料) 由学生自助通过多种方式查询资料,然后教师随机抽取1-3名同窗回答。七、 Java虚拟机(讲授)(1) Java虚拟机(Java Virtual Machine)是可运营Java字节码的虚拟计算机系统。(2) 使用Java语言编写的程序,事实上是运营在JVM之上,而不是运营在操作系统上。(3) 它有一种解释器组件,可以实现Java字节码和计算机操作系统之间的通信。八、 开发Java程序的环节(讲授)(1) 创立Java源程序Java源程序可以使用任何文本编辑器创立与编辑,一般用.ja

6、va作为扩展名,其实就是一种使用Java语言编写的文本文献;(2) 编译源程序Java编译器读取Java源程序并翻译成Java虚拟机可以明白的指令集合,并以字节码的形式保存在文献中,一般,字节码文献以.class作为扩展名;(3) 运营class(字节码)文献Java解释器读取字节码文献,取出指令并翻译成计算机可以执行的机器代码,完毕运营过程。九、 编写第一种Java程序(讲授+演示)(1) 打开记事本,新建一种文本文献,将文献名改为Hello.java,在文献中键入如下内容并保存:class Hello public static void main(String args) System.

7、out.println(Hello world!); (2) 使用javac编译器编译源文献。(3) .class(字节码)文献。(4) 使用java解释器运营字节码文献。十、 分析程序( 讨论+讲授) 分组讨论,然后由每个组轮流发言;最后由教师总结。(1) 核心字class用来定义一种类,Hello是类的名称;(2) 在Java程序中,所有的语句都必须放在某个类中;(3) 整个类及其所有成员都涉及在一对花括号中(即和之间),它们标志着类定义块的开始和结束。(4) 定义类的一般语法:class 类名(5) 程序必须从main函数开始执行;(6) 核心字public是访问修饰符,用来控制类成员的

8、可见范畴及作用域;(7) 核心字static容许在不创立类的实例的状况下,调用main函数;(8) 核心字void用来阐明main函数是没有返回值的;(9) args是字符串数组,用来从命令行接受参数;(10) String是字符串类型的数组;(11) 在Java中,类名称一般首字母大写;(12) 使用System.out.println()将信息输出到控制台上,即打印出来。十一、 上机实验(1) 安装JDK。(2) 进行环境变量的配备。(3) 安装Eclipse。(4) 熟悉Eclipse开发环境。作业布置(1) 编程输出如下信息* 欢迎进入Java编程世界*(2) 课后预习Java语言基本

9、(Java的基本数据类型、操作符、核心字、流程控制)。课后总结(1) 所有的同窗都掌握了本门课程的考核方式。(2) 通过度组学习,同窗之间有问题可以互相协助,学生学习积极性很高,并且通过小组组长的报告,一部分学习措施较好的同窗的经验,得以在全班同窗之间共同分享,效果较好。(3) 80%的同窗都可以独立完毕Java开发环境的搭建以及配备。(4) 由于前面有C语言的学习基本,70%以上同窗对Java程序构造的理解都不存在问题。整体来说,效果良好。教 案编号:2章节Java语言基本流程控制 分支语句授课方式讲授+学生实验+讨论教学目的(1) 掌握Java中的变量和数据类型。(2) 掌握Java中变量

10、的作用域规则。(3) 掌握数据类型转换。(4) 掌握Java中的运算符和体现式。(5) 掌握选择构造的几种实现方式;并可以独立的应用它们来编写程序。(6) 培养学生积极思考问题的能力。(7) 培养学生体现能力。(8) 培养学生实际动手操作能力。教学重点(1) Java的基本数据类型、引用类型以及变量的作用域。(2) 分支语句。教学难点(1) 引用类型以及变量的作用域。(2) 分支语句。时间分派教 学 过 程Min108090一、 作业点评(学生论述+教师总结)方式:由浮现程序问题的同窗讲出自己浮现的问题以及解决方式,最后由教师总结。(1) 类名不规范、代码排版不规范。(2) public中的p

11、浮现大写状况;static核心字丢失;main浮现mian;String中的S未大写;System中的s浮现了小写。(3) printf以及println,print输出格式混淆.(4) 不匹配或者丢失。二、 抽查上周布置的课后作业,抽查2-5个同窗来论述Java的基本数据类型、操作符、核心字。(学生论述+教师讲授)(1) 标记符命名规则a) 变量、函数、数组、对象、类和接口等等都需要命名,这些名称统称为标记符;b) Java中对于标记符的命名规则作了如下限制:i. 只能由英文字母、数字、下划线“_”和“$”符号构成。ii. 必须以英文字母、“_”或“$”开头,即不能以数字开头。iii. 除“

12、_”和“$”以外,不能涉及其他任何特殊字符。iv. 不能与核心字冲突。v. 严格辨别大小写。(2) Java中的核心字:abstract、boolean、break、byte、case、catch、char、class、continue、do、double、else、enum、extends、false、find、finally、float、for、implements、import、instanceof、int、interface、long、native、new、null、package、private、protected、public、return、short、static、super、s

13、witch、synchronized、this、throw、throws、true、try、void、while(3) 数据类型 (4) 变量的作用域和生命周期a) 变量 的作用域指变量起作用的范畴,阐明变量在什么部分可以被访问;b) 变量的生命周期是指变量在内存中存在的周期,即什么时候分派空间,什么时候销毁;(5) 运算符和体现式a) 算术运算符b) 关系运算符c) 逻辑运算符d) 条件运算符e) 赋值运算符(6) 选择构造a) if语句b) ifelse语句c) ifelse if语句d) switchcase语句三、 学生实验(上机+教师指引)(1) 输入一种“男”或者“女”,相应输出“

14、M”和“F”。(2) 写程序,若星期一到星期五,则打印出“工作快乐”,若星期六、星期天则输出“周末更快乐”。(3) 输入一种分数,输出相应的级别: 60如下 E 60-70 D 70-80 C 80-90 B 90 100 A作业布置(1) 输入三个数字,最后从小到大输出排序。(2) 课后预习循环构造的几种语句以及数组的定义。课后总结(1) 通过学生自己对浮现问题的总结和教师的总结,80%以上的同窗对常用问题的解决措施有了一种深刻的结识。(2) 通过三个上机程序,加深了对循环构造的结识。但是仍然有约20%的同窗对if和switch的用法还不能掌握,需加强程序上机的编写。教 案编号:3章节流程控

15、制 循环语句数组授课方式讲授+上机教学目的(1) 掌握循环语句的使用。(2) 掌握数组的声明以及运用。(3) 培养学生积极性和积极性。(4) 培养学生的逻辑思维能力。教学重点(1) 循环语句。(2) 数组、哈希表。教学难点(1) 循环语句。(2) 数组、哈希表。时间分派教 学 过 程Min1060110一、 作业点评(学生论述+教师总结)方式:由3-5个同窗来讲述上周作业的实现思路,最后由教师总结浮现的某些问题。(1) 类名不规范(2) 运算符的运用(3) 部分算法的不科学性二、 抽查上周布置的课后作业,抽查1-3个同窗来论述循环构造的几种语句以及数组的声明。(学生论述+教师讲授)(1) 循环

16、语句a) Whileint i=0; while(i+3) System.out.println(i);b) Dowhile语句int i=1; do System.out.println(i);while(i+3);c) For 语句 for(int i=1;i=3;i+) System.out.println(i);(2) 流程控制语句a) break:从switch语句、循环语句或标号标记的代码块中退出。如下while循环用于把1加到100:int a=1,result=0;one: while(true)result+=a+;if(a=101)break one; /终结循环Syste

17、m.out.println(result); /打印5050b) continue:跳过本次循环,执行下一次循环,或执行标号标记的循环体。如下for循环用于对1到100之内的奇数求和:int result=0;for(int a=1;a=100;a+) if(a%2=0)continue; /如果a是偶数,就跳出本次循环,继续执行下次循环 else result+=a;System.out.println(result); /打印2500(3) 讨论:判断下面程序执行了多少次? class Test public static void main(String args)int i=0;whi

18、le(i10)if(i10) i+; continue;if(i=5) break;System.out.println(i);(4) Java中声明数组的几种方式/仅声明数组的引用,但没有分派内存空间float fAry;/声明数组的同步,根据指定的长度分派内存,但数组中没有值char chAry = new char10;/声明数组并分派内存,同步将其初始化int ary1 = new int1, 2, 3, 4, 5;/与前一种方式相似,仅仅只是语法相对简略int ary2 = 1, 2, 3, 4, 5;三、 学生实验(上机)(1) 【练习题一】编写Java程序,计算100999之间的

19、所有“水仙花数”的平均值。所谓“水仙花数”是指一种三位数,其各位数字的立方和等于该数自身。例如:153=13+53+33,故153是水仙花数。(2) 【练习题二】编写一种Java程序,规定在控制台上打印出九九乘法表,效果应如下所示:1*1=1,1*2=2, 2*2=4,1*3=3, 2*3=6, 3*3=9,1*4=4, 2*4=8, 3*4=12, 4*4=16,1*5=5, 2*5=10, 3*5=15, 4*5=20, 5*5=25,1*6=6, 2*6=12, 3*6=18, 4*6=24, 5*6=30, 6*6=36,1*7=7, 2*7=14, 3*7=21, 4*7=28, 5

20、*7=35, 6*7=42, 7*7=49,1*8=8, 2*8=16, 3*8=24, 4*8=32, 5*8=40, 6*8=48, 7*8=56, 8*8=64,1*9=9, 2*9=18, 3*9=27, 4*9=36, 5*9=45, 6*9=54, 7*9=63, 8*9=72, 9*9=81,(3) 【练习三】1.打印如下图型: * * * * *2. * * * * * * * * * * *作业布置(1) 一种小球从100米处落下,每次弹起是本来的一半,问弹起第二十次落下后所通过的米数。课后总结(1) 通过这三周的程序编写和解说,发现50%的同窗对选择构造和循环构造的纯熟程序

21、还不够,对某些算法的实现还存在很大的问题,逻辑思维能力较弱。因此接下来的1-2周,决定采用大量的例子程序进行上机练习,然后由教师以及学得比较好的同窗进行辅导,为背面的面向对象编程的某些概念打下基本。教 案编号:4章节程序上机练习授课方式讲授+上机教学目的(1) 掌握分支语句、循环语句、数组的用法;加深对变量以及数组声明等用法的理解和使用。(2) 培养学生的逻辑思维能力。(3) 培养学生的实际动手能力。(4) 培养学生分析问题的能力。教学重点(1) 分支语句、循环语句。教学难点(1) 分支语句、循环语句。时间分派教 学 过 程Min 20160一、 作业点评(学生论述+教师总结)方式:由3-5个

22、同窗来讲述上周作业的实现思路,最后由教师总结浮现的某些问题。(1) 类名不规范(2) 运算符的运用(3) 部分算法的不科学性二、 上机实验实现方式:(一)由教师给出程序片段,由学生完毕核心部分的填写,最后让学生独立运营程序。(二)让个别同窗来解说整个程序的实现思路,最后由教师总结。(1) 求1000以内的素数(素数:只能除开1和自身的数)(2) 已知某年某月某日,从该年的1月1日开始3天打渔2天晒网,求该日是打渔还是晒网(思路,先求出该天是该年的第几天)(3) 编写一种程序实现将任意一种十进制数转换成二进制形式输出 如10输出形式为 .(4) 一种小球从100米处落下,每次弹起是本来的一半,问

23、弹起第二十次落下后所通过的米数。(5) 求任意两个整数的最大公约数和最小公倍数(6) 输出九九乘法表(两层for循环)(7) 求1000以内的水仙花数(如 153 = 135333)(8) 已知一种正整数,输出它的所有质数因子(如180的质数因子为2、2、3、3、5)。作业布置(1) 求1!+3!+5!+9!的值(2) 求1+1/2+1/6+1/12+1/20+.前10项的和课后总结(1) 通过程序片段的方式,80%以上的同窗都可以较好的完毕最后的核心部分填写;这样的方式对于程序的初学者来说是一种较好的入门方式;在减少难度的同步还增进了学生的积极思考和分析问题的能力。教 案编号:5章节授课方式

24、教学目的教学重点教学难点时间分派教 学 过 程国庆放假作业布置课后总结教 案编号:6章节程序上机练习授课方式讲授+上机教学目的(1) 掌握循环构造、选择构造的用法;加深对变量以及数组声明等用法的理解和使用。(2) 培养学生的逻辑思维能力。(3) 培养学生的实际动手能力。(4) 培养学生的团队意思。教学重点(1) 分支语句、循环语句。教学难点(1) 分支语句、循环语句。时间分派教 学 过 程Min30150一、 作业点评(学生论述+教师总结)方式:由3-5个同窗来讲述上周作业的实现思路,最后由教师总结浮现的某些问题。二、 上机实验(上机+指引)实现方式:由学生独立完毕,教师从旁指引。对于复杂的程

25、序由小组讨论:如第六个小题。在写程序的同步也增长了趣味性。(1) 万年历(周几的判断规则是 (年+年/4+年/400-年/100)%7)(2) 求1!+2!+3!+4!+.+9!的值(3) 求1+1/2+2/3+3/5+5/8+.前10项的和(4) 求Fibonacci数列:1,1,2,3,5,8,.的前40项并输出(5) 编写一种程序,打印出1 2 3 3 4 5 5 6 7 6 7 8 9(6) 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一种,这只猴子把多的一种扔入海中,拿走了一份。第二只猴子把剩余的桃子又平均提成五份,又多了一种,它同样把多的一种扔入海中,拿走

26、了一份,第三、第四、第五只猴子都是这样做的, 问海滩上本来至少有多少个桃子? 桃子的个数有多少种也许?(7) 写一段程序,定义int型变量代表month 月份,并赋给初值,根据月份判断出这个月是四季中的哪个季节?不是一年12个月份的月份,输出“错误月份”;(8) 给一种不多于5位的正整数,规定:一、输出它是几位数,二、逆序打印出各位数字。作业布置(1) 编写程序,打印出1 2 3 4 5 6 7 8 9 10 11 12 13 14 15(2) 课后预习面向对象编程的概念。课后总结 通过两周的课堂编程练习以及教师的指引和解说,80%的同窗对Java语言基本、循环构造、选择构造以及数组的应用基本

27、纯熟,达到了Java编程的入门级水平(可以编写某些简朴的应用程序,如:打印图案,数字排序,平年与闰年的判断等);在逻辑思考上也有了某些进步,但是程序的训练还需进一步的加强。教 案编号:7章节 面向对象开发措施概述授课方式讲授+上机教学目的(1) 理解什么是面向对象。(2) 掌握面向对象的基本概念(类、对象、属性、封装、继承、多态)。(3) 掌握如何定义类,如何创立对象。(4) 掌握成员运算符的使用。(5) 掌握访问控制权限:public和private。(6) 培养学生抽象客观世界成主观世界的能力。(7) 培养学生初步的设计软件系统的能力。(8) 培养学生的团队意识。教学重点(1) 面向对象的

28、核心思想和概念教学难点(1) 面向对象的核心思想和概念时间分派教 学 过 程Min15151010202010101555一、 作业点评(学生论述+教师总结)方式:由1-3个同窗来讲述上周作业第六题的实现思路以及展示具体实现,最后由教师总结浮现的某些问题。二、 上周课后作业检查方式:抽查2-5名同窗谈谈对面向对象编程的结识以及对基本概念的描述。三、 面向对象的编程思想四、 对象(1) 现实世界中的实体是实际存在的某种物体,用OOP的术语就称为对象。(2) 在Java中我们通过对象对现实世界中的实体进行一种模拟和映射。(3) 对象是面向对象编程的核心部分,和现实世界同样,需要具有明拟定义的状态和

29、行为。(4) 对象的特性属性a) 属性对象具有的多种特性b) 每个对象的每个属性都拥有特定值(5) 对象的特性措施a) 措施对象执行的操作五、 类(1) 人们为了更好地结识世界,将现实生活中的事物(对象)划提成类;(2) 同一类中的事物总是具有某些共性;(3) 类以共同的特性和行为定义实体;(4) 类是具有相似属性和行为的一组对象的集合。(5) 类和对象的区别a) 类是用来描述实体的“模板”或“原型”;b) 对象是实际的实体,每一种对象都是类的一种具体实例;c) 类用来定义对象所有的属性和措施,同一类的所有对象都拥有相似的特性和操作;d) 可以将类理解成生产产品的模具,而对象则是根据此模具生产

30、的一种个产品。六、 在Java中定义类七、 创立对象的语法(1) 和数组相似,对象也是引用数据类型,只能使用new运算符从堆中分派内存;(2) 创立对象的一般语法:(3) 类名 引用名 = new 类名();(4) 使用已经定义好的类,创立该类对象的过程称为“实例化”。八、 访问权限:public和private(1) C语言中构造体的成员可以从任何地方进行访问,这将给数据的安全留下极大的隐患;(2) 为了避免从类外部直接访问类成员而导致的数据损坏,Java对类成员的访问制定了约束;(3) 核心字public和private是访问修饰符,用来阐明某个成员与否可以从类外部进行访问;(4) pub

31、lic修饰的成员可以在任何地方进行访问,不受任何约束;(5) private修饰的成员只可以被本类中的其他成员访问,而不能从类的外部进行访问。九、 讨论:列举出生活中常用的类以及它们的对象。由每个组一种代表发言,说出讨论成果。十、 上机实验(一) 练习一(1) 请通过代码封装,实现如下需求: 编写一种类Book,代表教材: 1、具有属性:名称(title)、页数(pageNum)、出版社(publisher) 2. 为各属性设立赋值和取值措施 3、编写一种判断页数的措施judgePage(),其中判断输入的页数不能少于200页,否则输出错误信息,并赋予默认值200 4、具有措施:detail(

32、),用来在控制台输出每本教材的名称和页数(2) 编写测试类BookTest进行测试:为Book对象的属性赋予初始值,并调用Book对象的detail措施,看看输出与否对的?(二)练习二(1) 使用JAVA定义学生类Student!a) 规定学生类有姓名、性别、年龄、体重等属性,并且所有属性都要使用private修饰。b) 提供public的set和get措施来设立和获取属性的值。c) 提供dining() 吃饭 和walk 走路 ()。(2) 编写测试类Teststudent进行测试:为Student对象的属性赋予初始值,并调用Student对象的dining(),walk()措施,看看输出与

33、否对的?作业布置(1) 教材P42 第八题。课后总结(1) 只有40%的同窗对面向对象的基本概念的理解和掌握;余下的大部分同窗都属于一知半解;在这方面还需进一步加强练习。教 案编号:8章节 面向对象开发措施概述 类和对象的Java实现授课方式讲授+学生操作教学目的(1) 掌握类和对象的基本概念以及核心思想。(2) 掌握构造措施的写法以及重载。(3) 掌握对象在内存中的寄存形式。(4) 培养学生对客观事物的抽象能力。(5) 培养学生系统分析的能力。(6) 培养学生的项目展示能力。教学重点(1) 构造措施。(2) 措施重载。教学难点(1) 措施重载。时间分派教 学 过 程Min202020120一

34、、 作业点评(学生论述+教师总结)方式:由2-4个同窗来讲述上周实验的实现思路以及具体实现,最后由教师总结浮现的某些问题。(1) 一种Java文献中浮现多种class,需文献名的类修饰成public即主类。(2) 建立测试类后,创立对象后访问对象的属性时未通过对象进行引用而直接访问属性。(3) setter措施传参数浮现问题,如obj.setTitle=天龙八部;(4) char型浮现char ch=男!(5) 类中定义措施(行为)浮现问题,即停留在C语言;()丢失。(6) setter和getter措施命名不规范以及措施返回类型和措施体浮现问题。二、 构造措施(1) 正是由于在实例化对象的同

35、步会自动调用构造措施,因此构造措施一般用来给数据成员分派资源或初始化数据成员;(2) 构造措施的一般形式:访问权限 类名(形参列表) 措施体 (3) 由于是由虚拟机来调用构造措施,因此构造措施一般应定义成public。/*定义ConstructorDemo类,对构造措施进行测试*/class ConstructorDemo /*构造措施,措施名与类名完全一致 无需指定返回值类型,也不能有返回值*/ public ConstructorDemo() System.out.println(这是构造措施); /*Test类,用来容纳main措施一般将包具有main措施的类声明为public*/pub

36、lic class Test /*main措施,程序入口*/ public static void main(String args) /*实例化ConstructorDemo类的对象*/ ConstructorDemo cd = new ConstructorDemo(); 三、 措施重载(1) 用于定义一组措施,这些措施具有相似的名称,并执行类似的操作,但是却使用不同的参数列表;(2) 编译器会根据调用时传递的实际参数自动判断具体调用的是哪个重载措施,如: /*abs措施的重载*/int abs(int x) float abs(float x) double abs(double x)

37、long abs(long x) (3) 措施重载的三大原则a) 措施名相似b) 参数不同(可以有三方面的不同)数量不同类型不同顺序不同c) 同一作用域d) 温馨提示:措施重载跟措施的返回值类型没有任何关系。也就是说,只有返回值不同的措施不能构成重载。/*错误的措施重载*/void fun(int x) ;int fun(int x) ;四、 上机实验(1) 定义一种学生类,具有属性:姓名(name)、性别(sex)、年龄(age)、体重(weight)、银行帐户余额(money)!给每个属性提供set以及get措施。(2) 为该学生提供学习措施(learn)、休息措施(rest)、显示信息措

38、施(display)。在学习措施中,体重减一;在休息措施中,体重加一。(3) 为学生类提供措施重载对成员变量进行灵活初始化。规定(a、无参的构造措施;b、只有姓名一种参数的构造措施;c、有姓名、性别两个参数的构造措施;d、有姓名、性别、年龄三个参数的构造措施;e、有姓名、性别、年龄、体重四个参数的构造措施;f、有姓名、性别、年龄、体重、银行帐户五个参数的构造措施。(4) 在测试类中,实例化学生类,规定:通过6种不同的初始化措施,实现6个对象的创立,并显示具体学生的有关信息。(5) 定义一种类AbsoluteValue(求绝对值),规定使用措施重载实现不同类型数值的取绝对值措施:abs。作业布置

39、(1) P193 11、12、13。课后总结(1) 80%以上的同窗掌握了windows应用程序的安装、卸载以及软件的注册。(2) 90%以上的同窗掌握了windows的基本快捷操作。教 案编号:9章节Java语言中的修饰符授课方式讲授+学生实验教学目的(1) 掌握this、static、package、import它们的含义以及用法。(2) 掌握对象数组的声明及用法。(3) 培养学生实际动手能力。(4) 培养学生面向对象的编程能力。教学重点(1) 对象数组。(2) this、static、package、import。教学难点(1) 对象数组。(2) this、static。时间分派教 学

40、过 程Min1515151025100一、 作业点评及检查(学生论述+教师总结)(1) 由1-2个学生讲述上周作业的实现思路以及展示程序实现;过程中由教师补充和总结。二、 对象数组(讲授)(1) 在Java中不仅可以声明由原始数据构成的数组,还可以声明由对象构成的数组;声明对象数组的方式如:/假设已经定义了一种Student类/*声明由5个Student对象构成的数组*/Student stdAry = new Student5;(2) 上述方式类似于C语言中的:struct Student *p = NULL;p = (struct Student*)malloc(5 * sizeof(st

41、ruct Student*);(3) 对象数组=引用数组三、 this核心字(1) 既然所有的对象都共用相似的成员措施,那么在不同的对象都调用同一措施时,它是怎么拟定要使用哪个对象的数据成员呢?(2) 每个成员措施均有一种隐含的this引用,它总是指向调用它的对象;(3) This为调用成员措施的对象的地址;(4) 可以像使用任何引用那样使用this。四、 静态成员变量(1) 在成员变量前加static核心字,可以将其声明为静态成员变量;(2) 静态成员变量只有一份内存拷贝,即所有对象共享该成员变量;(3) 静态成员变量的作用域只在类内部,但其生命周期却贯穿整个程序。五、 包(1) 有时候,类

42、和类的名称也许发生冲突;(2) Java提供了把类名空间划分为更容易管理的块的机制,这就是包;(3) 包类似于文献夹;(4) 分属不同包的类名相似也不会引起冲突;(5) 能在包与包之间对于类的访问权限提供更有力的约束。(6) 使用package核心字打包(7) 使用import核心字导入包六、 上机实验(1) 编写一种学生类,学生类里有标示姓名的属性和标示年龄的属性,写一种构造措施,在构造措施里为属性赋值时,必须用到this核心字。写一种输出函数,输出学生的姓名和其年龄。写一种测试类,在测试类里定义一种长度为3的学生类的对象数组,为数组里的每一种元素实例化一种学生对象,并调用其输出函数,程序运

43、营成果如下:(2) 编写一种学生类,类里有一种标示姓名的属性和一种静态的标示总学生个数的属性,写一种构造措施,使每创立一种学生对象时学生个数自加,写一种输出成果的措施,程序运营的成果如下:(3) 随便写一种JAVA程序,在程序的最前面写下面这条语句:package newer.java;编绎运营,并到原程序所在目录下查看生成的包构造。(4) 编写下面的程序,编译后分析报错的因素public class Testpublic static void main(String args) JFrame f=new JFrame(我的窗口); f.setSize(400,300); f.setVisi

44、ble(true); 然后在程序的最前面写上如下语句,再次编绎、运营,并分析这条语句的作用。import javax.swing.JFrame;作业布置(1) P216-217 10、11、12、13。 课后总结(1) 对static的理解还需多加强程序编写的练习。教 案编号:10章节 继承 基本概念及基本用法授课方式讲授+上机教学目的(1) 理解什么是继承。(2) 掌握在Java中实现继承,extends核心字。(3) 掌握继承中的构造措施的用法。(4) 掌握super核心字的含义及用法。(5) 培养学生项目展示能力。(6) 培养学生积极思考问题的能力。(7) 培养学生实际动手能力。教学重点

45、(1) 继承的基本概念以及Java实现。教学难点(1) 继承的基本概念以及Java实现。时间分派教 学 过 程Min205101510120一、 作业点评及检查(学生论述+教师总结)由1-2个学生讲述上周作业的实现思路以及展示程序实现;过程中由教师补充和总结。问题描述:(1) 措施重载的不理解(同类同名不同参)(2) 错误重犯率较高;如构造函数无返回类型、构造函数名与类名不一致、类名不规范、带有main措施的class名与物理文献名不一致、没有通过对象调用措施(非静态措施)、措施名后不带();甚至浮现类名后加()现象。(3) 只要与类名不一致的措施都视为成员措施,需返回类型。(4) Dog类带

46、有static的count成员,创立dog1.dog5对象后,最后用for循环遍历后,调用措施后成果一致。(应在各自对象后调用措施)(5) 静态变量以及静态成员可以直接通过类名.出来。二、 回忆(1) 措施重载应遵循三大原则;(2) 合适地重载构造措施,可以使初始化对象的方式更为灵活;(3) this引用总是指向调用成员措施的对象自身;(4) 静态成员(涉及静态成员属性和静态成员措施)属于类而不是属于某个对象,可以在实例化对象之前通过类名访问;(5) 使用package核心字打包;(6) 使用import核心字导入包或类。三、 继承的概念(1) 在现实生活中的继承,可以理解为儿子继承了爸爸的财

47、产,即财产重用;(2) 面向对象程序设计中的继承,则是代码重用;(3) 继承是运用既有的类创立新类的过程,既有的类称作基类(或父类),创立的新类称作派生类(子类)。(4) 最高层是最普遍的、最一般的状况,往下每一层都比上一层更具体,并包具有高层的特性,通过这样的层次构造使下层的类能自动享用上层类的特点和性质;(5) 继承其实就是自动地共享基类中成员属性和成员措施的机制。四、 在Java中实现继承在Java中实现继承需要使用到extends核心字;实现继承的一般语法是:访问修饰符 class 派生类名 extends 基类名 成员列表如:class Student extends Person

48、五、 类成员的访问控制权限(1) 信息隐藏是面向对象程序设计的重要特点之一,它可以:a) 避免类的使用者意外损坏数据;b) 对任何实现细节所作的修改不会影响到使用该类的其他代码;c) 使类更易于使用。(2) 在Java中实现信息隐藏的是访问控制权限机制;(3) 访问控制权限涉及4个访问修饰符:public、protected、private和缺省;(4) 可以使用上述访问修饰符修饰类的成员。六、 上机实验(1) 练习一医生有姓名(name),编号(idNumber),地址(address)等基本信息,均有display()显示信息的措施。医生又分专业医生和非专业医生,非专业医生所具有的信息与上

49、述的同样。但专业医生出了具有上述的基本信息之外尚有特有的信息:专业(speciality)。请根据她们之间的关系,创立一种医生类(Doctor),涉及医生的基本信息。再运用继承创立一种非专业医生类(NonSpecialist )和一种专业医生类(Specialist),专业医生类涉及一种显示其专业的措施public void showSpwciality()。运用这些类的对象显示她们各自的信息。/*提示 1.医生类构造措施中可以加入一条显示代码 System.out.println(这是父类构造措施); 2.非专业医生类只需继承医生类无需编写任何属性,措施。 3.专业医生类继承医生类,并添加属

50、性:专业,构造措施需使用super调用父类构造措施,添加获得专业信的措施和显示专业信息的措施。所有的类都是用构造措施初始化对象,在test类中编写main措施测试。class Doctor . private name; . public void display() System.out.println(姓名+getName() 。);/其她属性类似姓名 的解决方式 . (如下练习都应采用上述构造函数/getXXXX()/display()的编码形式)(2) 【练习题二】定义一种名为Vehicles(交通工具)的基类,该类中应涉及String类型的成员属性brand(商标)和color(颜色

51、),还应涉及成员措施run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造措施初始化其成员属性。编写Car(小汽车)类继承于Vehicles类,增长int型成员属性seats(座位),还应增长成员措施showCar(在控制台显示小汽车的信息),并编写构造措施。编写Truck(卡车)类继承于Vehicles类,增长float型成员属性load(载重),还应增长成员措施showTruck(在控制台显示卡车的信息),并编写构造措施。在main措施中测试以上各类。作业布置(1) P192 8、9。(2) 预习多态的基本概念以及具体实现。课后总结(

52、1) 由于对继承属于面向对象的三大特性之一,因此本章节的速度放得很慢,但是虽然这样仍然有30%的人对继承的基本概念和实现仍然存在很大的问题。解决措施就是系能可以通过更多的练习来达到对理论的理解。教 案编号:11章节继承 多态授课方式讲授+上机教学目的(1) 掌握措施覆盖的基本概念机Java实现。(2) 掌握多态,在Java中实现多态。(3) 掌握final核心字的用法。(4) 培养学生的体现能力、项目展示能力。(5) 培养学生的团队意识。(6) 培养学生的实际动手能力。教学重点(1) 措施覆盖、多态。教学难点(1) 措施覆盖、多态。时间分派教 学 过 程Min15102520153070一、

53、作业点评及检查(学生论述+教师总结)作业解说及点评:由1-2个学生讲述上周作业的实现思路以及展示程序实现;过程中由教师补充和总结。预习检查:在Java程序中,多态性带给我们的好处是什么?措施覆盖与措施重载有区别吗? 抽2-4个人来回答上述两个问题。然后引入此堂课新内容。二、 上周回忆(学生论述+教师总结)(1) 继承是指从一种基类(父类)派生出派生类(子类)的过程;(2) 继承使用核心字extends;(3) 对于类成员,可以使用public、protected、缺省和private这4种访问权限修饰符;(4) 创立子类实例时,必须先执行父类的构造措施,然后再执行子类的构造措施;(5) super核心字有两种重要用途,都与父类有关。三、 措施覆盖(1) 在类的继承体系构造中,如果子类中浮现了与父类中有同原型的措施,那么觉得子类中的措施覆盖了父类中的措施(也称为措施重写);(2) 通过子类的实例调用被覆盖的措施时,将总是调用子类中的

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!