1、面向对象程序设计教学大纲面向对象程序设计课程教学大纲一 课程说明1、课程基本情况课程名称:面向对象程序设计 英文名称:Oriented-Object Programming课程编号:2414219开课专业:信息管理与信息系统开课学期:第5学期学分/周学时:3学分/3学时课程类型:专业选修课2、课程性质(本课程在该专业的地位作用)本课程是信息与计算科学专业高年级本科生开设的专业课程。面向对象软件开发方法是吸收了软件工程领域有益的概念和有效的方法而发展起来的一种软件开发方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助人们开发出模块化、数据抽象程度高的,体现信息隐蔽、可复用、易修改、易扩充等
2、特性的程序。3、本课程的教学目的和任务面向对象程序设计(Java)是信息管理与信息系统专业的选修课。本课程主要介绍面向对象程序设计的方法和JAVA语言的有关内容。以JAVA语言中的面向对象机制为主,学习者在学习过程中可以通过大量的程序实例和相关练习,逐步掌握JAVA的面向过程和面向对象的功能,从而掌握面向对象程序设计的基本知识和基本技能。4、本课程与相关课程的关系、教材体系特点及具体要求本课程是新一代面向对象和网络的程序设计语言,要求学生先修:C语言程序设计、数据结构、Internet网络技术等课程。5、教学时数及课时分配章(专题)主要内容学时安排第一部分JAVA语言概述;基本数据类型、数组和
3、枚举类型;运算符、表达式和语句10第二部分类与对象;继承与接口;内部类与异常类;面向对象的几个基本原则;几个重要的设计模式;常用实用类26第三部分Java Swing图形用户界面;对话框;输入输出流;泛型与集合框架8第四部分JDBC数据库操作;Java多线程机制6第五部分Java网络基础;Java Applet4合计学时课堂教学(总学时:36) 实验教学(总学时:18)54 二 教材及主要参考书1耿祥义主编.Java面向对象程序设计.清华大学出版社. 2010.12耿祥义主编.Java程序设计精编教程.清华大学出版社.2010.83(美)Bruce Eckel,Java编程思想,北京,机械工业
4、出版社,2002.3,第一版。4. (美)Jacquie Barker 著,Java面向对象编程指南,电子工业出版社,2001.11,第1版。5. (美)Rogers Cadenhead 著,21天学通Java 2,人民邮电出版社,2004.5,第三版。6. 阎宏 编著,Java与模式,电子工业出版社,2002.10,第1版。7. 张海藩 编著,软件工程导论,清华大学出版社,1998.1,第3版。8邵维忠 杨芙清著,面向对象的系统分析,清华大学出版社三 教学方法和教学手段说明教学方法:以课堂讲授为主,结合必要的上机实验。 四 成绩考核办法1、课程考核方法:闭卷考试,成绩比例:卷面60%,实验2
5、0%,平时20%。2、期末考试采用A、B卷,两份考卷的覆盖面、难度相同,由教研室任取一份作为正式考卷。3、提供试卷的参考答案和评分标准。考后认真进行试卷分析。五 教学内容第一部分 Java语言概述;基本数据类型、数组和枚举类型;运算符、表达式和语句(理论6学时,实验4学时)一、教学目的1、熟悉Java语言的发展、特点;掌握jdk的安装;jdk环境下Java程序的上机步骤。2、掌握java语言中数据类型的分类;数组和枚举类型的概念。熟悉标识符和关键字;基本数据类型;从命令行输入、输出数据;数组;枚举类型。3、掌握运算符与表达式;语句概述;if条件分支语句;switch开关语句;循环语句;brea
6、k和continue语句;枚举类型与for、switch语句。二、教学重点Jdk的安装;jdk环境下Java程序的上机步骤。从命令行输入、输出数据;数组;枚举类型。循环语句;break和continue语句;枚举类型与for、switch语句。三、教学难点Java程序的上机步骤。数组。循环语句;枚举类型与for、switch语句。四、讲授要求熟悉Java语言的发展、特点; java程序的基本结构; jdk环境下Java程序的上机步骤。掌握java语言中数据类型的分类;数组和枚举类型的概念。熟悉标识符和关键字;基本数据类型;从命令行输入、输出数据;数组;枚举类型。掌握运算符与表达式;语句概述;i
7、f条件分支语句;switch开关语句;循环语句;break和continue语句;枚举类型与for、switch语句。五、讲授要点Java语言的发展、特点; Jdk的安装;jdk环境下Java程序的上机步骤;java程序的基本结构。从命令行输入、输出数据;数组;枚举类型。循环语句;break和continue语句;枚举类型与for、switch语句。六、实验及实践要求实验一 1、 实验项目名称:熟悉JAVA运行环境及简单程序调试2、 实验类型:验证性3、 学时分配:2学时4、 每组人数:1人5、 实验内容及要求:学会jdk1.6安装,通过一个简单java程序的上机,熟悉一个具体的java开发环
8、境,基本了解和学会源程序的输入、编辑、编译、修改、运行等上机环节。实验二 1、 实验项目名称:JAVA流程控制2、 实验类型:验证性3、 学时分配:2学时4、 每组人数:1人5、 实验内容及要求:用循环语句;break和continue语句;枚举类型与for、switch语句设计程序。第二部分 类与对象;继承与接口;内部类与异常类;面向对象的几个基本原则;几个重要的设计模式;常用实用类(理论14学时,实验12学时)一、教学目的熟悉类;对象;参数传值;对象组合;static关键字;this关键字;包;import语句;jar文件。了解子类与父类;子类的继承性;子类对象的构造过程;成员变量的隐藏和
9、方法重写;继承与多态。掌握super关键字;final关键字;对象的上转型对象;abstract类与abstract方法;接口。熟悉内部类;匿名类;异常类;断言;Class类。了解UML类图;面向抽象原则;开-闭原则;多用组合少用继承原则;高内聚-低耦合原则。了解设计模式;策略模式;中介者模式;模板方法模式。掌握String类;StringBuffer类;StringTokenizer类;Date类;Clendar类;Math与BigInteger类;DecimalFormat类;Pattern与Match类。二、教学重点参数传值;对象组合;static关键字;this关键字;包;import
10、语句。成员变量的隐藏和方法重写;继承与多态;super关键字;final关键字;对象的上转型对象;abstract类与abstract方法;接口。内部类;匿名类;异常类;断言;Class类。UML类图;面向抽象原则;开-闭原则;多用组合少用继承原则;高内聚-低耦合原则。策略模式;中介者模式;模板方法模式。String类;StringBuffer类;StringTokenizer类;Date类;Clendar类;Math与BigInteger类;DecimalFormat类;Pattern与Match类。三、教学难点参数传值;对象组合;包;import语句。成员变量的隐藏和方法重写;继承与多态。
11、异常类。开-闭原则。策略模式。Pattern与Match类。四、讲授要求熟悉类;对象;jar文件。掌握参数传值;对象组合;static关键字;this关键字;包;import语句。了解子类与父类;子类的继承性;子类对象的构造过程;成员变量的隐藏和方法重写;继承与多态。掌握super关键字;final关键字;对象的上转型对象;abstract类与abstract方法;接口。熟悉内部类;匿名类;异常类;断言;Class类。了解这些基本原则,有助于知道如何使用面向对象语言编写出易维护、易扩展和易复用的程序代码。一个好的设计系统往往是易维护、易扩展、易复用的 。设计模式从一些优秀的设计系统中总结出的设
12、计精髓,因此学习设计模式对提高设计能力无疑是非常有帮助的。掌握String类;StringBuffer类;StringTokenizer类;Date类;Clendar类;Math与BigInteger类;DecimalFormat类;Pattern与Match类。五、讲授要点参数传值;对象组合;static关键字;this关键字;包;import语句。成员变量的隐藏和方法重写;继承与多态;super关键字;final关键字;对象的上转型对象;abstract类与abstract方法;接口。Java的异常可以出现在方法调用过程中,即在方法调用过程中抛出异常对象,导致程序运行出现异常,并等待处理。
13、Java 使用trycatch语句来处理异常,将可能出现的异常操作放在trycatch语句的try部分,当try部分中的某个方法调用发生异常后,try部分将立刻结束执行,而转向执行相应的catch部分。UML类图;面向抽象原则;开-闭原则;多用组合少用继承原则;高内聚-低耦合原则。通过讲解设计模式体现面向对象的设计思想,这非常有利于更好地使用面向对象语言解决设计中的诸多问题。熟练掌握String类的常用方法,这些方法对于有效的处理字符序列信息是非常重要的;掌握String类的和StringBuffer类的不同,以及二者之间的联系;使用StringTokenizer类可以分析字符串,获取字符串中
14、被分隔符分隔开的单词;当程序需要处理时间时,使用Date类和Calendar类;如果需要处理特别大的整数,使用BigInteger类;当需要格式化数字时使用DecimalFormat类;当需要模式匹配时使用Pattern和Match类。六、实验及实践要求实验三 1、 实验项目名称:面向对象程序设计封装性2、 实验类型:基础性3、 学时分配:4学时4、 每组人数:1人5、 实验内容及要求:(1).编写判断素数的方法;掌握方法的定义方法。(2). 编写将十六进制数转换为十进制数的方法;熟悉行参和实参的传递关系。(3). 编写一个学校类,其中包括成员变量scoreLine(录取分数线)和对该变量进行
15、设置和获取的方法;掌握类和构造方法的定义。 (4). 编写一个学生类,她的成员变量有考生的name(姓名)、id(考号)、intgretResult(综合成绩)、sports(体育成绩)。它还有获取学生的综合成绩和体育成绩的方法;理解静态和非静态成员变量的区别。 (5). 编写一个录取类,它的一个方法用于判断学生是否符合录取条件。其中录取条件为:综合成绩在录取分数线之上,或体育成绩在96分以上并且综合成绩大于300分。该类中的main()方法建立若干个学生对象,对输出符合录取条件的学生,输出其信息及“被录取”; 掌握创建类实例的方法。实验四1、 实验项目名称:面向对象程序设计继承性2、 实验类
16、型:设计性3、 学时分配:4学时4、 每组人数:1人5、 实验内容及要求:(1)设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法;掌握类的继承机制。(2)设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法;熟悉类中成员变量和方法的访问控制。(3)设计一个表示圆柱体的类Cylinder,它继承自类Circle,还包含有表示圆柱体高的protected类型的成员变量h、获取和设置
17、h值的public方法、计算圆柱体体积的public方法;熟悉方法或构造方法多态性。实验五1、 实验项目名称:面向对象程序设计多态性2、 实验类型:综合性3、 学时分配:4学时4、 每组人数:1人5、 实验内容及要求:学校中有老师和学生两类人,而在职研究生既是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。1) 设计两个信息管理接口StudentManageInterface和TeacherManageInterface。其中,StudentInterface接口包括setFee()方法和getFee()方法,分别用于设置和获取学生的学费;TeacherInterface接口包括s
18、etPay()方法和getPay()方法,分别用于设置和获取教师的工资2) 定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface接口,它定义的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资)。3)创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“provide a loan”(需要贷款)信息。熟悉接口的定义方法;了解JAVA语言实现多继承的途径。课外实验一:(对学生不作要求)1、 实验项目名称:错误和异常处理实例2、 实验类型:验证性
19、3、 学时分配:0学时4、 每组人数:1人5、 实验内容及要求:用try-catch语句来处理异常。掌握try-catch语句。了解内部类;内部类;匿名类;异常类;断言;Class类。课外实验二:(对学生不作要求)1、 实验项目名称:应用面向对象的原则和设计模式设计程序2、 实验类型:验证性3、 学时分配:0学时4、 每组人数:1人5、 实验内容及要求:应用UML类图;面向抽象原则;开-闭原则;多用组合少用继承原则;高内聚-低耦合原则设计程序。能用String类;StringBuffer类;StringTokenizer类;Date类;Clendar类;Math与BigInteger类;Dec
20、imalFormat类;Pattern与Match类设计程序。第三部分 Java Swing图形用户界面;对话框;输入输出流;泛型与集合框架(理论6学时,实验2学时)一、教学目的掌握窗口;文本框、按纽、标签和文本区;布局;选择性组件;容器;表格和树;窗口事件、鼠标事件和键盘事件;使用MVC结构与中介者模式。掌握JDialog类;文件对话框;消息对话框;输入对话框;确认对话框;颜色对话框。了解文件字节流与文件字符流;缓冲流;随机流;数组流;数据流;对象流;序列化与对象可隆;文件锁;使用Scanner解析文件。了解泛型;链表;堆栈;散列映射;树集;树映射。二、教学重点掌握组件上的事件处理,Java
21、处理事件的模式是:事件源、监视器、处理事件的接口。JDialog类;文件对话框;消息对话框;输入对话框;确认对话框;颜色对话框。缓冲文件系统中文件的打开、读写、定位、关闭。文件字节流与文件字符流;缓冲流;随机流;数组流;数据流;对象流;序列化与对象可隆;文件锁;使用Scanner解析文件。泛型;链表;堆栈;散列映射;树集;树映射。三、教学难点使用MVC结构与中介者模式。文件对话框。序列化与对象可隆;使用Scanner解析文件。树映射四、讲授要求掌握怎样将其它组件嵌套到JFrame窗体中;各种组件的特点和使用方法。建立JDialog的子类创建一个对话框,对话框可以添加组件,实现与用户的交互操作;
22、对话框分为无模式和有模式两种,对于有模式的对话框,对话框处于激活状态时,只让程序响应对话框内部的事件,不能再激活对话框所在程序中的其它窗口,而且将堵塞其它线程的执行,直到该对话框消失不可见;无模式对话框处于激活状态时,能再激活对话框所在程序中的其它窗口,也不堵塞其它线程的执行;Java提供了常用的对话框类,如文件对话框、消息对话框、确认对话框和颜色对话框。了解1输入、输出流提供一条通道程序,可以使用这条通道读取“源”中的数据,或把数据送到“目的地”; 2InputStream的子类创建的对象;3Reader的子类创建的对象;4OutputStream的子类创建的对象;5Writer的子类创建的
23、对象;6使用对象流写入或读入对象时,要保证对象是序列化的。了解缓冲文件系统中文件类型指针的概念;缓冲文件系统中文件的打开、读写、定位、关闭。五、讲授要点窗口;文本框、按纽、标签和文本区;布局;选择性组件;容器;表格和树;窗口事件、鼠标事件和键盘事件;使用MVC结构与中介者模式。文件对话框、消息对话框、确认对话框和颜色对话框。文件字节流与文件字符流;缓冲流;随机流;数组流;数据流;对象流;序列化与对象可隆;文件锁;使用Scanner解析文件。了解泛型;链表;堆栈;散列映射;树集;树映射。六、实验及实践要求课外实验三:(对学生不作要求)6、 实验项目名称:JAVA图形用户界面设计7、 实验类型:验
24、证性8、 学时分配:0学时9、 每组人数:1人10、 实验内容及要求:利用窗口;文本框、按纽、标签和文本区;布局;选择性组件;容器;表格和树;窗口事件、鼠标事件和键盘事件;使用MVC结构与中介者模式实现:怎样将其它组件嵌套到JFrame窗体中;各种组件的特点和使用方法;组件上的事件处理,Java处理事件的模式是:事件源、监视器、处理事件的接口。实验六1、 实验项目名称: JAVA的输入输出处理2、 实验类型:验证性3、 学时分配:2学时4、 每组人数:1人5、 实验内容及要求:使用文件字节流与文件字符流;缓冲流;随机流;数组流;数据流;对象流;序列化与对象可隆;文件锁; Scanner解析文件
25、等来编写1个Java应用程序。第五部分 JDBC数据库操作;Java多线程机制(理论6学时,实验0学时)一、教学目的了解如何创建数据源;JDBC-ODBC桥接器;顺序查询;可滚动结果集;排序查询;模糊查询;随机查询;预处理语句;数据库访问中的套接字技术;事务。了解Java中的线程;Thread的子类创建线程;使用Runable接口;线程的常用方法;GUI线程;线程同步;在同步方法中使用wait()、notify 和notifyAll()方法;挂起、恢复和终止线程;计时器线程Timer;线程联合;守护线程。二、教学重点如何创建数据源;JDBC-ODBC桥接器;查询操作;更新、添加、删除记录。Ja
26、va中的线程;Thread的子类创建线程;使用Runable接口;线程的常用方法;GUI线程;线程同步;在同步方法中使用wait()、notify 和notifyAll()方法;计时器线程Timer;线程联合;守护线程。三、教学难点使用预处理语句;事务。线程同步四、讲授要求了解如何创建数据源;JDBC-ODBC桥接器;顺序查询;可滚动结果集;排序查询;模糊查询;随机查询;预处理语句;数据库访问中的套接字技术;事务。了解Java中的线程;Thread的子类创建线程;使用Runable接口;线程的常用方法;GUI线程;线程同步;在同步方法中使用wait()、notify 和notifyAll()方
27、法;挂起、恢复和终止线程;计时器线程Timer;线程联合;守护线程。五、讲授要点如何创建数据源;JDBC-ODBC桥接器;查询操作;更新、添加、删除记录。Thread的子类创建线程;GUI线程;线程同步。六、实验及实践要求课外实验四:(对学生不作要求)1、实验项目名称:JDBC数据库应用;多线程应用2、实验类型:验证性3、学时分配:0学时4、每组人数:1人5、实验内容及要求:(1)应用创建数据源;JDBC-ODBC桥接器;查询操作;更新、添加、删除记录编写一个GUI应用程序来查询Access数据库。(2)使用Thread的子类创建线程;线程同步来编写Java应用程序。第六部分Java网络基础;
28、Java Applet(理论4学时,实验0学时)一、教学目的了解URL类;InetAdress类;套接字;UDP数据报;广播数据报;Java远程调用(RMI)。了解Java Applet的结构;Java Applet的运行原理;在Java Applet中播放声音;网页传值。二、教学重点URL类;InetAdress类;套接字;UDP数据报;广播数据报;Java远程调用(RMI)。Java Applet的结构;Java Applet的运行原理。三、教学难点套接字;Java远程调用(RMI)。Java Applet的运行原理四、讲授要求了解URL类;InetAdress类;套接字;UDP数据报;广
29、播数据报;Java远程调用(RMI)。了解Java Applet的结构;Java Applet的运行原理;在Java Applet中播放声音;网页传值。五、讲授要点URL、Socket、InetAdress和DatagramSocket类在网络编程中的重要作用,以及远程调用的基础知识。Java Applet的结构;Java Applet的运行原理。六、实验及实践要求课外实验五:(对学生不作要求)1、实验项目名称:JAVA与网络;Applet 应用。2、实验类型:验证性3、学时分配:0学时4、每组人数:1人5、实验内容及要求:(1)使用URL、Socket、InetAdress和DatagramSocket类进行网络编程设计。(2)在Java Applet中播放声音;网页传值。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1