java面向对象程序设计-教案.doc_第1页
java面向对象程序设计-教案.doc_第2页
java面向对象程序设计-教案.doc_第3页
java面向对象程序设计-教案.doc_第4页
java面向对象程序设计-教案.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

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

评论

0/150

提交评论