还剩18页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
附件二广东科学技术职业学院教案2014~2015学年第二学期学院系、部计算机工程技术学院课程名称Java面向对象程序设计授课班级14软件3班主讲教师林萍职称讲师使用教材JAVA高级编程项目化教程广东科学技术职业学院教务处制二○○六年九月教案(首页)课程名称Java面向对象程序设计课程编号总计54学时学分讲课27学时实验27学时上机学时类别必修课(√)选修课()理论课()实验课()任课教师林萍职称讲师授课对象专业班级14软件3班共1个班教材参考资料教材Java高级项目化教程主编林萍清华大学出版社参考教材JAVA基础与案例开发详解主编张孝祥清华大学出版社Java程序设计朱喜福等主编人民邮电出版社Java学习笔记良葛格编著清华大学出版社Java程序设计古凌岚等编著清华大学出版社教学方法教学手段教学方法课堂讲授,启发式教学,课堂讨论,案例教学,研究性教学,提问式教学,课程论文,课程设计,学生讲授,师生互动教学手段多媒体教学,网络教学考核方式闭卷考试,课程设计,考证学生创新精神与实践能力的培养方法课上前几分钟讲解上一次实验的优点缺点,鼓励大家多动手下课前几分钟讲解下次实验内容,让同学们有充分的时间去考虑解决问题的方法,同一个题目往往要求多种解法,让大家自己比较多种解法的有缺点,从而提高大家的逻辑思维能力、动手能力和自己解决问题的能力其它要求严格考勤,注重学生课堂表现及课堂参与情况,课下作业,课下实验,充分发挥大家解决问题的能力
1、Java面向对象程序设计课程教案授课时间第
1、2周第
1、
2、3节课次2授课方式(请打√)理论课√讨论课□实验课□习题课□其他□课时安排6授课题目(教学章、节或主题)单元知识1JAVA面向对象语言基础对象、方法、数组、代码规范教学目的、要求(分掌握、熟悉、了解三个层次)理解类和对象的概念理解方法理解数组教学重点及难点理解类和对象的概念理解方法理解数组教学基本内容方法手段如何把“学生”用java语言描述出来并输出学生信息?类设计好之后,我们如何使用它?程序从哪里开始执行?学生对象属性赋值后,请输出学生信息从键盘上录入学生三门课成绩,计算平均成绩并输出循环随机产生10位同学的成绩,进行升序排列后输出结果为了程序阅读和交流方便,适当的注释是必不可少的,因此我们需要给代码添加注释另外,很多企业反馈刚毕业的学生写的代码没法看,命名不规范,代码无缩进等,所以一般在做项目之前,都会有个代码规范要求,这就是java代码规范提问式多媒体教学作业和思考题猜数小游戏用*打印图案输入输出学生信按照成绩降序排列并输出课后小结 java语言面向对象编程的思路认为程序都是对象的组合,因此要克服面向过程编程的思路,直接按照对象和类的思想去组织程序,面向对象所具有的封装性、继承性、多态性等特点使其具有强大的生命力作为面向对象编程人员来说,大体可以分为两种类创建者和应用程序员,应用程序员是类的使用者所以对程序的可读性和API帮助文档就有要求,java语言本身有一套约定成俗的编程规范,同时程序员首先要学会阅读系统API帮助文档,还要学会生成自己编写的程序的API帮助文档
2、Java面向对象程序设计课程教案授课时间第3周第
1、
2、3节课次1授课方式(请打√)理论课√讨论课□实验课□习题课□其他□课时安排3授课题目(教学章、节或主题)单元知识2抽象和封装面向对象思路、构造函数、封装教学目的、要求(分掌握、熟悉、了解三个层次)学习面向对象设计的过程,从现实世界中抽象出类实现对现实世界的模拟对抽象出的类进行优化,通过封装隐藏内部信息教学重点及难点从现实世界中抽象出类教学基本内容方法手段根据控制台提示,输入姓名根据控制台提示,选择角色类型,有两种选择教师和学生如果类型选择教师,要选择教师教课的方向,有两种选择“java方向”或者“.net方向”如果类型选择学生,要选择学生所在的年级“大一”、“大二”或者“大三”在控制台打印出角色信息,包括姓名、年龄、性别、教课方向或者所在年级提问式多媒体教学作业和思考题画出代码2-8的类图,并根据Teacher类的类图,设计出Student类属性被封装后的类图实现角色信息录入和打印给Student类增加Studentname构造方法对Student类的所有属性进行封装,并设定名字不能多于4个字符,年级不能是“大
一、大
二、大三”以外的数据课后小结现实世界是“面向对象”的,面向对象就是采用“现实模拟”的方法设计和开发程序面向对象技术是目前计算机软件开发中最流行的技术面向对象设计的过程就是抽象的过程类是对某一类事物的描述,是抽象的、概念上的定义对象是实际存在的该事物的个体,是具体的,现实的如果同一个类中包含了两个或两个以上方法,他们的方法名相同,方法参数个数或参数类型不同,则称该方法被重载了,这个过程称为方法重载构造方法用于创建类的对象构造方法的作用主要就是在创建对象时执行一些初始化操作可以通过构造方法重载来实现多种初始化行为封装就是将类的成员属性声明为私有的,同时提供公有的方法实现对该成员属性的存取操作
3、Java面向对象程序设计课程教案授课时间第4周第
1、
2、3节课次1授课方式(请打√)理论课√讨论课□实验课□习题课□其他□课时安排3授课题目(教学章、节或主题)单元知识3继承优化设计、重写父类、父类声明和子类实例化教学目的、要求(分掌握、熟悉、了解三个层次)学习使用继承方法重写的目的父类的声明和子类的实例化教学重点及难点方法重写教学基本内容方法手段任务一使用继承优化设计任务二子类重写父类方法任务三父类的声明和子类的实例化提问式多媒体教学作业和思考题创建角色对象并输出信息方法的覆盖this和super的使用父类声明和子类实例化课后小结继承是Java中实现代码重用的重要手段之一Java中只支持单继承,即一个类只能有一个直接父类java.lang.Object类是所有Java类的祖先在子类中可以根据实际需求对从父类继承的方法进行重新编写,称为方法的重写或覆盖子类中重写的方法和父类中被重写方法必须具有相同的方法名、参数列表、返回值类型必须和被重写方法的返回值类型相同或者是其子类如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法声明部分为父类,赋值部分为子类的对象,在调用重写的方法时,会调用子类的方法,属性被覆盖则正好相反
4、Java面向对象程序设计课程教案授课时间第
5、6周第
1、
2、3节课次2授课方式(请打√)理论课√讨论课□实验课□习题课□其他□课时安排6授课题目(教学章、节或主题)单元知识4多态多态概念、抽象类、子类和父类的转换教学目的、要求(分掌握、熟悉、了解三个层次)学习使用多态多态的使用场景子类父类的相互转换教学重点及难点学习使用多态多态的使用场景子类父类的相互转换教学基本内容方法手段任务一什么是多态为了进一步提高教学质量和学生学习的积极性,学校增加了一个教学督导组,目的是监督教师的教学情况以及学生的学习情况督导监督教师教学主要从以下几个方面监督教师上课是否上课表达准确讲解思路清晰监督学生上课情况不迟到、早退、旷课课堂认真学习任务二抽象类代码4-6的Person类中有一个函数learn()没有任何实现,也没有实现它的意义,那么能否在去掉Person类中的learn函数呢?如果不能,是否可以只是声明函数,而不提供实现呢?任务三父类和子类的相互转换在上一单元学习中,我们知道,如果我们这样去声明和赋值一个对象Personp=newTeacher;那么对象p的属性和函数也仅仅只包含在Person类中声明的属性和函数,要想使用Teacher类中独有的函数,比如getMajorField函数是不可以的是否有办法使用在子类中独有的方法呢?提问式多媒体教学作业和思考题计算交通工具运行1000公里需要的时间程序功能扩展综合运用面向对象知识抽象类课后小结通过多态可以减少类中代码量,可以提高代码的可扩展性和可维护性继承是多态的基础,没有继承就没有多态把子类转换为父类,称为向上转型,自动进行类型转换把父类转换为子类,称为向下转型,必须进行强制类型转换向上转型后通过父类引用变量调用的方法是子类覆盖或继承父类的方法,通过父类引用变量无法调用子类特有的方法向下转型后可以访问子类特有的方法必须转换为父类指向的真实子类类型,否则将出现类型转换异常ClassCastException抽象类不能实例化,抽象类中可以没有、可以有一个或多个抽象方法子类必须重写所有的抽象方法才能实例化,否则子类还是一个抽象类instanceof运算符通常和强制类型转换结合使用,首先通过instanceof进行类型判断,然后进行相应的强制类型转换
5、Java面向对象程序设计课程教案授课时间第7周第
1、
2、3节课次1授课方式(请打√)理论课√讨论课□实验课□习题课□其他□课时安排3授课题目(教学章、节或主题)单元知识5接口、常用修饰符和包接口定义、修饰符、包教学目的、要求(分掌握、熟悉、了解三个层次)学习使用接口理解面向接口编程理解final和static修饰符的使用了解其他限定符教学重点及难点理解面向接口编程理解final和static修饰符的使用教学基本内容方法手段任务一接口的定义与使用在生活中,我们比较常见的接口就是usb接口了,现在大部分的鼠标、键盘、U盘等都统一使用usb接口,那么usb接口是如何做到无论插入什么设备都可以直接使用的呢?任务二final和static修饰符Java中如何表示常量,如圆周率pi这样基本保持不变的值任务三public、protected、friendly和private修饰符在java中,还常见四种修饰符public、protected、friendly(默认省略)和private,它们修饰类的方法和属性时有什么不同呢?任务4包在java中,如果类名相同该怎么处理?提问式多媒体教学作业和思考题使用接口实现打印机static和final的使用public、protected、friendly(默认省略)和private的使用课后小结接口是java中实现多继承的重要手段,接口可以使java的代码更规范,从而实现“对扩展开放,对修改关闭”的开发原则Java又叫面向接口编程static和final可以一起使用来定义一个常量,也可以分开使用static可以修饰属性和方法,final可以修饰类、属性和方法Java中的其他限定符是为属性的访问范围设定的,常用的是public和private
6、Java面向对象程序设计课程教案授课时间第8周第
1、
2、3节课次1授课方式(请打√)理论课√讨论课□实验课□习题课□其他□课时安排3授课题目(教学章、节或主题)单元知识6异常产生、处理、原理、自定义异常教学目的、要求正确地使用捕获异常和声明抛弃异常的两种异常处理的方法理解Java中两种异常处理机制,抛弃异常和声明抛弃异常的区别与联系了解自定义异常教学重点及难点正确地使用捕获异常和声明抛弃异常的两种异常处理的方法理解Java中两种异常处理机制,抛弃异常和声明抛弃异常的区别与联系教学基本内容方法手段任务一异常的产生任务二异常的处理任务三自定义异常提问式多媒体教学作业和思考题根据编号输出课程名称自定义异常使用throw抛出异常课后小结异常处理是java语言中的一个独特之处,主要使用捕获异常和声明抛弃异常两种方法来处理程序中可能出现异常的语句块,其中捕获异常是一种积极处理异常的方法,而声明抛弃异常是一种消极处理异常的方法Try块可以配一个或者多个catch块,也可以只配一个finally块配多个catch块时要注意顺序自定义异常给程序提供了一个统一的异常处理接口,自定义异常必须继承Exception类
7、Java面向对象程序设计课程教案授课时间第
9、10周第
1、
2、3节课次2授课方式(请打√)理论课√讨论课□实验课□习题课□其他□课时安排6授课题目(教学章、节或主题)单元知识7I/O读取、存储数据简单文件读写、原理和结构、常用流、随机存储存取文件流上机目的、要求理解字节流和字符流的区别和联系理解常用对象流的使用方法和使用场合了解其他流上机重点及难点理解字节流和字符流的区别和联系理解常用对象流的使用方法和使用场合教学基本内容方法手段任务一简单的文件读写任务二I/O原理和结构任务三常用流任务四随机存储存取流和File类提问式多媒体教学作业和思考题通过输入流读取班级名称根据选择的班级,找到相应的文件输出班级学生信息使用缓冲流和对象流输入使用缓冲流和对象流输出课后小结Java中的输入输出处理是通过使用流技术,用统一的接口表示而实现的输入输出流中,最常见的是对文件的处理例如java.io.FileInputStream,java.io.FileOutputStream,java.io.RandomAccessFile和java.io.File输入输出流根据处理的内容,分为字符流和字节流两种,其中字节流是以byte为基本处理单位的流;而字符流是以16位的Unicode码为处理单位的流
8、Java面向对象程序设计课程教案授课时间第
11、13周第
1、
2、3节课次2授课方式(请打√)理论课√讨论课□实验课□习题课□其他□课时安排6授课题目(教学章、节或主题)单元知识8JAVA集合框架使用LIST集合随机选取学生、集合框架的结构、常用的其他集合类、JAVA泛型教学目的、要求(分掌握、熟悉、了解三个层次)理解List集合框架的使用理解Map框架的使用了解使用Iterator迭代器遍历集合框架了解泛型教学重点及难点理解List集合框架的使用理解Map框架的使用教学基本内容方法手段任务一使用List集合随机选取学生任务二集合框架的结构任务三Iterator迭代器任务四泛型提问式多媒体教学作业和思考题通过输入流和List的配合读取班级名称把选择的班级中学号以“5”结尾的同学信息输出在控制台上使用MapStirngStudent来查找学生随机点名课后小结和数组一样,List也把数字下标同对象联系起来,你可以把数组和List想成有序的容器List会随元素的增加自动调整容量如果要经常做随机访问,那么请用ArrayList,但是如果要在List中间做很多插入和删除的话,就应该用LinkedList了LinkedList能提供队列,双向队列和栈的功能Map提供的不是对象与数组的关联,而是对象和对象的关联HashMap看重的是访问速度,因而它查找的效率很高Set只接受不重复的对象HashSet提供了最快的查询速度迭代器可以快速的遍历集合,迭代器没有forEach简洁,但是某些时候只能采用迭代器泛型的使用可以提高代码的安全性和健壮性,建议在集合类中都使用泛型
9、Java面向对象程序设计课程教案授课时间第
13、14周第
1、
2、3节课次2授课方式(请打√)理论课√讨论课□实验课□习题课□其他□课时安排6授课题目(教学章、节或主题)单元知识9JAVA图形用户界面简单的图形用户界面、布局管理器和常用组件、事件教学目的、要求(分掌握、熟悉、了解三个层次)理解图形用户界面理解常用组件和容器的使用理解常用事件的使用教学重点及难点理解图形用户界面理解常用组件和容器的使用理解常用事件的使用教学基本内容方法手段任务一简单的图形用户界面任务二布局和组件任务三事件提问式多媒体教学作业和思考题GridLayout、BorderLayout容器嵌套布局一个小型计算器实现计算器最基本的加、减、乘、除功能实现点名器课后小结用Swing来生成图形化用户界面时,组件和容器的概念非常重要组件是各种各样的类,封装了图形系统的许多最小单位,例如按钮、窗口等等;容器也是组件,它的最主要的作用是装载其它组件,但是象JPanel这样的容器也经常被当作组件添加到其它容器中,以便完成复杂的界面设计布局管理器是java语言与其它编程语言在图形系统方面较为显著的区别,容器中各个组件的位置是由布局管理器来决定的,共有5种布局管理器,每种布局管理器都有自己的放置规律事件处理机制能够让图形界面响应用户的操作,主要涉及到事件源、事件、事件处理者等三方,事件源就是图形界面上的组件,事件就是对用户操作的描述,而事件处理者是处理事件的类因此,对于Swing中所提供的各个组件,我们都需要了解该组件经常发生的事件以及处理该事件的相应的监听器接口
10、Java面向对象程序设计课程教案授课时间第
15、16周第
1、
2、3节课次2授课方式(请打√)理论课√讨论课□实验课□习题课□其他□课时安排6授课题目(教学章、节或主题)单元知识10多线程代码交替执行、线程的状态与调度、实现动态点名器教学目的、要求(分掌握、熟悉、了解三个层次)理解java中线程的使用,掌握线程的调度和控制方法,理解多线程的互斥和同步的实现原理教学重点及难点理解java中线程的使用,理解多线程的互斥和同步的实现原理教学基本内容方法手段任务一代码交替执行任务二什么是多线程任务三实现动态点名器提问式多媒体教学作业和思考题完成任务三的动态点名器存储更改的学生信息在退出程序前,保存所有学生信息的修改课后小结 Java语言内在支持多线程的程序设计线程是进程中的一个单个的顺序控制流,多线程是指单个程序内可以同时运行多个线程在Java程序中创建多线程的程序有两种方法一种是继承Thread类并覆盖其run方法,另一种是实现Runnable接口并实现其run方法线程从创建、运行到结束总是处于下面五个状态之一新建状态、就绪状态、运行状态、阻塞状态及死亡状态Java的每个线程都有一个优先级,当有多个线程处于就绪状态时,线程调度程序根据线程的优先级调度线程运行结合java面向对象、输入输出、集合框架、图形用户界面和多线程,实现了一个比较实用和完整的点名系统2014~2015学年第二学期课程教学实施小结课程名称Java面向对象程序设计采用教材Java面向对象程序设计任课教师林萍实验(实习)指导教师林萍计划安排培养计划、教学大纲安排总课时54学时,学分,其中理论27学时,实验(实践、实习)27学时,多媒体27学时本学期计划授课54学时,其中理论27学时,实验(实践、实习)27学时,多媒体27学时实施情况实际完成的授课总课时54学时,其中理论27学时,实验(实践、实习)27学时,多媒体27学时按实施教学编写的教案数1份,其中理论1份,实验(实习)1份,多媒体课件1件考核方式考试,成绩计算方式闭卷考试教学小结含本学期参加教改课题、课程建设及获相关教学奖励等情况任课教师签名林萍教研室主任签名教学院长(系主任)签名15年3月5日。