




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程号301106课程名称中文名:面向对象程序设计英文名: Object Oriented Programming课程性质公共基础必修课 素质教育选修课 核心课程必修课专业方向选修课 专业教育机动课程选修课学分3周学时2-2主要适用专业计算机专业、信计专业、统计专业先修课程程序设计(I), 程序设计(II)浙江大学城市学院课程教学大纲一、教学目的与任务(一)教学目的面向对象程序设计方法是吸收了软件工程领域有益的概念和有效的方法而发展起来的一种程序设计方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助人们开发出模块化、数据抽象程度高的,体现信息隐蔽、可复用、易修改、易扩充等特性的程序。本课程主要介绍面向对象程序设计的方法和Java语言的基本概念,并以java语言中的面向对象机制为主。学习者在学习过程中可以通过大量的程序实例和相关练习,逐步掌握java的面向对象的功能,从而掌握面向对象程序设计的基本知识和基本技能。(二)教学环节和学时分配本课程的教学环节主要有:课堂讲授、上机实验等。总学时: 64 其中理论学时: 32 实践学时:32二、教学内容与基本要求(一)引言(理论学时2 实践学时2)1.教学内容(1)面向对象程序设计简介l 程序设计方法:面向过程与面向对象l 基本概念:对象、类、消息传递l 基本特征:封装性、继承性、多态性(2)Java语言简介l Java的诞生l Java运行环境与平台无关性l Java的主要特点l Java的三种平台2.基本要求(1)掌握面向过程与面向对象的特点与区别、理解对象、类、消息传递等基本概念,理解封装性、继承性、多态性等基本特征。(2)了解Java诞生的背景、掌握Java运行环境与平台无关性、理解Java的主要特点和三种平台。3.重点与难点(1)重点:对象、类、消息传递等基本概念,封装性、继承性、多态性等基本特征、Java运行环境与平台无关性(2)难点:深刻体会上述基本概念和基本特征,理解Java平台无关性特性。(二)Java语言基础(理论学时2 实践学时2)1.教学内容(1)Java语言开发环境的安装与配置l JDK的安装与配置l Eclispe的安装与配置(2)使用JDK或Eclipse开发Java程序l 通过JDK开发运行程序l 通过Eclipse 工具编写运行程序(3)编写Java应用程序l 包含main方法的类l 屏幕输出与键盘输入l 编写多个静态方法(4)标识符、关键字与字面值l 标识符l 关键字和字面值(5)变量与类型l 变量l 八种基本类型l 基本数据类型之间的转换l 数组与字符串简介(6)运算符与表达式l 算术运算l 移位运算符与表达式l 位运算符与表达式l 赋值运算符与表达式l 关系运算与逻辑运算l 其它常用的运算符(7)语句l 语句简述l 分支语句l 循环语句l 控制转移语句2.基本要求(1)掌握Java语言开发环境(JDK或Eclipse)的安装与配置(2)掌握使用JDK或Eclipse开发Java程序的基本技能(3)掌握编写Java应用程序的基本技能(4)掌握Java语言关于标识符、关键字与字面值的基本规定和要求(5)掌握Java语言的变量与类型的相关规定、基本数据类型之间的转换,了解数组与字符串。(6)掌握Java语言关于运算符与表达式的规定和使用特点。(7)掌握Java语言关于语句的规定。3.重点与难点(1)重点:编写Java应用程序的基本技能、基本数据类型之间的转换、常用运算。(2)难点:编写Java应用程序的基本技能、类型强制转换问题。(三)类与对象基础(理论学时6 实践学时6)1.教学内容(1)类与对象简述l 对象与类的关系l 类的域、方法、构造器l 构造器:对象的创建与初始化l 对象引用与引用变量l 方法与域的使用方式l Java类库与类型的导入(2)Math类l Math类的静态成员及功能l 关于方法重载的讨论l 关于访问控制修饰符的简要说明(3)字符串:String类与StringBuffer类l String类与字符串对象l StringBuffer类(4)数组对象l 一维数组的声明、创建与初始化l 一维数组的拷贝:使用System.arraycopy()方法l 一维数组的排序与搜索:使用java.util.Arrays类l 多维数组的创建及使用(5)基本数据类型的包装类l 包装类的功能与成员构成l Integer类l Double类l Character类(6)大数处理与BigInteger类l 数值计算的精度损失问题l BigInteger类(7)时间处理l 时间与时间处理简述l Date类与SimpleDateFormat类l Calendar类(8)异常处理简介与Exception类l 一个处理异常的例子l 异常抛出与Exception类2.基本要求(1)掌握类与对象的基本知识,包括两者关系,类的域、方法、构造器的特点与用法,以及如何导入和使用类等。(2)掌握Math类,掌握静态成员的使用方式,理解方法重载现象,理解访问控制修饰符的作用。(3)掌握String类与StringBuffer类,掌握非静态成员的使用方式。(4)掌握数组对象的使用方式,掌握一维数组的拷贝、排序和搜索的方法,理解二维数组的特点与使用方式。(5)掌握基本数据类型包装类的基本功能特点和使用方式。(6)了解大数处理的相关类,掌握BigInteger类的使用方式。(7)掌握时间处理的相关类(包括Date、SimpleDateFormat、Calendar)(8)理解异常处理机制,掌握Exception类3.重点与难点(1)重点:掌握类与对象的基本知识,并通过实用类的学习来深入理解这些基本知识。(2)难点:掌握类和对象的使用方式。(四)类的设计与封装(理论学时6 实践学时6)1.教学内容(1)类设计的基本思路l 立足点的改变:从类的使用者到设计者l 类设计的基本思路(2)矩形类的初步设计(3)类声明与域的定义l 类名的命名习惯l 域的定义:声明方式与命名习惯l 域的初始值与final域l 域的读写访问方式l 域的特点与生命周期(4)设计构造器l 设计缺陷分析:缺失自定义构造器所带来的问题l 自定义构造器:将对象的初始化代码写入构造器l 默认构造器:没有自定义构造器时的唯一选择l 当前对象(this对象):区分同名的成员变量l 构造器重载:提供对象的多种创建方式l 通过this调用重载的构造器:避免构造器的代码重复(5)设计实例方法l 设计缺陷分析:使用端功能代码的简单重复l 设计实例方法:将常用功能和行为定义为实例方法l 实例方法的声明方式、方法重载、命名习惯、调用方式l 实例方法中访问当前对象的成员l 在实例方法中访问指定对象成员、构造器和静态成员l 实例方法的常规用途和功能分类(6)方法设计的常规技术:代码抽取、参数化简l 常见的代码设计问题和应对手段l 外部调用方法与内部调用方法l 方法的代码抽取与参数化简(7)方法的形式参数与返回类型l 形式参数变量与局部变量l 关于参数传递:理解对象引用的传递l 方法参数和返回类型的常规用途l 参数合法性检查与异常抛出(8)设计类方法l 类方法使用示例:用类方法创建矩形对象l 类方法的声明、方法重载、调用方式l 类方法的可访问内容l 类方法的常规用途和代码设计(9)实例初始器与静态初始器l 实例初始器:构造器代码执行之前的对象初始化l 静态初始器:类加载时的静态初始化(10)声明包:类型的组织l 包声明与类型导入l 包的命名与唯一包名l 包的文件目录组织结构l 打包与JAR文件(11)访问控制和封装:数据与实现细节的隐藏l 关于访问控制的语言规定l 访问控制示例:防止成员与构造器的非法访问l 访问控制示例:隐藏软件的设计和实现细节2.基本要求(1)掌握类设计的基本思路(2)掌握类声明与域定义的相关知识。(3)掌握设计构造器的基本技能,掌握构造器的相关知识(包括自定义构造器、默认构造器、this对象、构造器重载、通过this调用重载的构造器等)。(4)掌握设计实例方法的基本技能,掌握实例方法的相关知识(包括实例方法的声明方式、方法重载、命名习惯、调用方式,如何访问当前对象,如何访问指定对象成员、构造器和静态成员),理解实例方法的常规用途和功能分类。(5)理解常见的代码设计问题和应对手段,掌握方法设计的代码抽取、参数化简等常规技术。(6)掌握方法的形式参数与返回类型的规定,理解方法参数和返回类型的常规用途,掌握参数合法性检查与异常抛出的基本技能。(7)掌握设计类方法的基本技能,掌握类方法的相关规定(包括类方法的声明、方法重载、调用方式,类方法的可访问内容),理解类方法的常规用途并掌握代码设计的基本技能。(8)理解实例初始器与静态初始器的用途,并掌握相关使用方式。(9)掌握包的基本知识和使用方式(10)掌握访问控制和封装的语言规定和用途,并掌握相关基本技能。3.重点与难点(1)重点:掌握类设计和封装的相关知识和基本技能。(2)难点:编程思维的转变,即从面向过程到面向对象的转变。(五)类继承与接口的设计(理论学时8 实践学时8)1.教学内容(1)类的单重继承关系l 说明类的直接超类:类继承关系的确定l 类的单重继承关系:子类、超类、Object类l 超类成员的可继承性:可以继承直接超类的哪些成员?l 关于类继承的初步认识(2)类继承链上类和对象的初始化l 类加载与初始化机制:继承链上类的加载顺序与初始化l 对象初始化与构造器调用链:通过super调用直接超类构造器l 设计子类的构造器(3)重定义超类的域和方法:隐藏或覆盖l 隐藏从超类继承的域l 覆盖或隐藏从超类继承的方法l 通过super访问从超类继承的成员l 方法覆盖的设计:通过super扩展超类方法的功能(4)抽象类及其子类l 抽象超类及其子类的设计示例l 抽象类的声明与主要特点l 抽象方法的声明与实现l 抽象类与抽象方法的设计意图(5)超类的设计:上转型对象与方法覆盖多态l 类继承链上的对象转型:向上转型和向下转型l 上转型对象的方法覆盖多态l 超类设计与上转型对象技术应用示例(6)接口及其实现类l 接口声明与实现类示例l 接口声明与成员定义:兼谈与抽象类的异同之处l 接口的实现类l 接口的多重继承:继承成员的歧义问题(7)接口的设计:使用接口回调技术l 接口回调与方法覆盖多态l 接口回调技术的应用特点:与上转型对象技术比较2.基本要求(1)理解并掌握Java类单重继承关系的相关知识。(2)掌握类继承链上类和对象的初始化机制,掌握设计子类构造器的相关技能(含super关键字的用途)。(3)掌握重定义超类的域和方法的基本技能,理解隐藏或覆盖的区别,掌握方法覆盖的基本技能(含super关键字的用法)(4)掌握设计抽象类及其子类的基本技能,以及抽象类的相关知识,理解掌握抽象类与抽象方法的特点与设计意图。(5)掌握超类设计的基本技能,理解对象转型的特点,掌握上转型对象与方法覆盖多态的设计要领。(6)掌握接口的相关知识,理解接口与抽象类的异同之处,掌握接口及其实现类、接口多重继承的特点。(7)掌握接口设计技术(含接口回调技术),理解接口回调与方法覆盖多态的特点,理解接口回调技术与上转型对象技术的异同之处。3.重点与难点(1)重点:类继承链上类和对象的初始化机制,隐藏或覆盖超类域和方法的相关知识,上转型对象技术和接口回调技术。(2)难点:上转型对象技术和接口回调技术(六)集合框架与泛型(理论学时4 实践学时4)1.教学内容(1)Java集合框架简介:用途和主要构成(2)泛型简介:泛型类、泛型接口、泛型方法l 泛型与类型参数l 泛型的作用l 泛型的转型与通配符类型(3)Collection接口与Iterator接口(4)List接口及其实现类l List接口与ListIterator接口l LinkedList与ArrayList的使用(5)Set、SortedSet接口及其实现类l Set接口与HashSet类l 集合元素的相同比较:equals方法和hashCode方法l SortedSet接口与TreeSet类l 集合元素的大小比较:Comparable接口与Comparator接口(6)Queue接口与LinkedList类(7)Map、SortedMap接口及其实现类l Map接口与HashMap类l SortedMap接口与TreeMap实现类(8)集合与通配符类型的应用示例2.基本要求(1)掌握Java集合框架的用途和主要构成(2)掌握泛型类、泛型接口、泛型方法的相关知识(3)掌握Collection接口与Iterator接口(4)掌握List接口及LinkedList与ArrayList等实现类。(5)掌握Set、SortedSet接口及其实现类(6)掌握Queue接口与LinkedList类(7)掌握Map、SortedMap接口及其实现类(8)掌握通配符类型的特点与使用方式3.重点与难点(1)重点:Java集合框架主要构成,泛型的相关知识,相关接口及其实现类的使用方式。(2)难点:泛型。(七)异常类、嵌套类、枚举类型(理论学时2 实践学时2)1.教学内容(1)异常处理l 自定义异常类:兼谈异常类的继承关系l 编写try-catch-finally:异常的发生、俘获与处理l 运行时异常与非运行时异常(2)嵌套类:内部类和静态嵌套类l 嵌套类简介l 作为成员的内部类和静态嵌套类l 局部类和匿名类(3)枚举类型2.基本要求(1)掌握设计自定义异常类的相关技能,理解异常处理机制。(2)掌握嵌套类的使用方式、设计嵌套类的相关技术。(3)掌握枚举类型的特点。3.重点与难点(1)重点:自定义异常类、嵌套类。(2)难点:自定义异常类、嵌套类。(八)输入/输出流(理论学时2 实践学时2)1.教学内容(1)输入/输出流与相关类(2)File类:文件与目录的表示(3)文件流、数组流、字符串流l 流的通常使用方式l 文件输入/输出流l 数组输入/输出流l 字符串输入/输出流(4)缓冲流与数据流l 缓冲输入/输出流l 数据输入/输出流(5)对象流与对象序列化l 对象序列化与持久化l 对象复制:创建对象副本(6)RandomAccessFile:文件的随机访问2.基本要求(1)掌握输入/输出流相关类的关系和使用特点。(2)掌握File类。(3)掌握文件流、数组流、字符串流的特点和常用类。 (4)掌握缓冲流与数据流的特点和常用类。(5)掌握对象流与对象序列化的特点和常用类。(6)掌握RandomAccessFile类3.重点与难点(1)重点:输入/输出流相关类的关系,流类的使用。(2)难点:输入/输出流相关类的关系,流类的使用。3、 学时分配表序号名 称教 学 时 数课后作业形式及要求理论学时实践学时(一)引言22课后作业以教材习题为主,按章节为单位完成上交;实验课每次完成后将电子文档与程序上传至FTP(二)Java语言基础22(三)类与对象基础66(四)类的设计与封装66(五)类继承与接口的设计88(六)集合框架与泛型44(七)异常类、嵌套类、枚举类型22(八)输入/输出流22合计3232四、实验环节安排汇总表序号实验项目名称实验时数实验类型实验要求(一)Java开发环境2验证性必做(二)Java语言基础2验证性必做(三)类与对象基础(一)2验证性必做(四)类与对象基础
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卫生噪音面试题及答案
- 家电公司库存处理管理细则
- 采制样考试题及答案
- vda考试题及答案
- 放射防护考试题及答案
- 造林绿化工技师的考试试题及答案
- 三亚雇员考试试题及答案
- 职教教研工作总结
- 家电公司合同印章管理细则
- 家电公司应急演练管理规定
- 软件开发项目进展汇报
- 2025贵州航空产业城集团股份有限公司旗下子公司贵州安立航空材料有限公司面向社会招聘61人笔试参考题库附带答案详解
- 摄影提成管理办法
- 人工智能赋能基础教育应用蓝皮书 2025
- 2025广东南粤银行资金运营中心招聘考前自测高频考点模拟试题带答案详解
- 2025年《资料员》考试题库附答案【模拟题】
- 磷石膏砌块项目可行性研究报告
- GB/T 22080-2025网络安全技术信息安全管理体系要求
- 楼梯 栏杆 栏板(一)22J403-1
- 经历是一种收获的作文5篇
- 血液透析管路及透析器安装操作评分标准
评论
0/150
提交评论