ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:22.18KB ,
资源ID:11354070      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11354070.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象程序设计课程实验.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

面向对象程序设计课程实验.docx

1、面向对象程序设计课程实验附件2:面向对象程序设计课程实验实验大纲1. 基本情况【适用范围】计算机科学与技术、信息管理与信息系统专业【实验学时】32【考核方式】课程实验着重考查学生对每个实验的准备和完成情况,其成绩纳入课程的平时成绩。实验成绩占课程平时成绩的70;每个实验的评分包括:准备情况,实际操作,实验报告,实验结果(程序)。2. 实验目的面向对象程序设计是一门应用性、实践性很强的技能课,不仅要求学生熟知程序设计语言的语法和特性,还要求其能够将相关知识应用于具体的程序开发中;不仅要求学生熟练掌握面向对象的编程风格、编程技巧和技能,而且需要其建立一种面向对象的分析问题、抽象问题和解决问题的基本

2、思想和方法。要实现上述教学目标,离不开大量的上机实验练习。课程实验的总体目标是:(1) 加深学生对类和对象概念的理解、帮助学生建立面向对象的思维方式,在程序设计中要贯彻和体现面向对象的基本思想。(2) 通过上机实践,提高学生对计算机软件开发环境和运行环境的了解和使用能力。(3) 加深学生对课堂讲授内容的理解和掌握,从Java语言的语法及特性到基本的编程方法和技能,打好面向对象程序设计、软件开发的良好基础。(4) 在对Java 程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。(5) 通过上机实验,提高学生对Java 语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的

3、规律与技巧。3. 实验要求课程实验与面向对象程序设计理论课相互配套,由若干个独立的实验项目组成。通过实验训练,要求学生能运用所学理论知识进行基本的面向对象程序设计,培养其严谨、规范的编程习惯,掌握基本的操作技能和编程思想。同时要注意培养学生实事求是的科学态度,为学习后续课程,参加实际工作和开展科学研究打下良好的基础。课程实验的基本要求是:(1) 任课教师需向学生讲清课程实验的性质,任务,要求,实验项目安排和进度,考核内容和方式,实验守则及实验室安全制度等。(2) 本课程若干个独立的实验项目组成,每个实验项目包括课前准备,实验操作,实验报告等环节。(3) 学生在实验前必须进行准备,提出解决问题的

4、算法、完成初步的程序设计。根据实验项目的具体情况,教师应对学生的准备情况进行必要的检查。(4) 学生应在规定时间内独立完成每个实验的任务,包括程序的输入、调试,以及实验报告的誊写和提交。实验过程中,老师应在实验室进行巡视,及时回答问题,纠正学生的错误操作,同时也要培养学生自主发现问题和解决问题的能力。(5) 任课教师要认真备课,提前预做实验,上好每一堂课。实验前清点学生人数。实验后要检查学生的实验报告。4. 实验项目及学时分配序号项目名称内容摘要实验类型学时实验要求123456789101112131415Java程序初步类型转换数据运算Java语句类的定义构造方法has-a关系is-a关系J

5、ava接口字符串处理数组应用例外处理线程的基本控制线程的同步控制文件操作Java程序的基本结构自动、强制类型转换运算符与表达式程序流程变量与方法构造方法的定义对象之间的相互作用继承接口及其应用String、StringBuffer引用型数组例外处理的编程方法Thread类wait、notify输入、输出流验证性验证性设计性设计性设计性验证性设计性设计性设计性设计性设计性设计性设计性设计性设计性222222224222222必做必做必做必做必做必做必做必做必做必做必做必做必做必做必做实验1:Java程序初步【实验目的】 (1) 了解Java应用程序的基本结构,以及main方法的格式。能够模仿地定

6、义一些简单的类、创建类的实例对象。(2) 了解Java开发工具包的组成,熟练掌握编译、运行Java应用程序的过程。(3) 对类和对象的概念有更好的感性认识。【实验内容】定义一个表示圆的名为Circle的类,其软件接口如下:class Circle public void setRadius(int r); / 设置圆的半径 public int getArea(); / 计算圆的面积 public int getPerimeter(); / 计算圆的周长 public int getRadius(); / 返回圆的半径【实验要求】(1) 学生在实验前必须进行准备,完成初步的程序设计。实验要求在

7、规定时间内独立完成,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作;课后检查学生的实验报告。实验2:类型转换【实验目的】(1) 了解Java语言支持的两类数据类型:基本类型和复合类型。(2) 了解各种基本类型的特性,掌握各种类型文字的表示。(3) 理解变量的概念,掌握变量定义的基本方法,了解变量的分类、局部变量的作用域。(4) 理解基本类型转换的含义、方法和规则。【实验内容】1. 假设已经定义和以下变量:short a=5,b=7;byte i=2,j=11;验证下列表达式的类型以及结果: a2 类型 结果 (byte

8、)-7*-5 类型 结果 true ? 12 : i 类型 结果 a = i 类型 结果 2. 下面程序有一行错误代码(在/*found*/下)。请改正并调试程序,使之正确运行,并使程序的运行结果为:k=7 i=-1。必须在原来位置修改,不得增加或删减程序行。class Aaa public static void main(String args) /*found*/ long l = 0x7ffffffff; long k = l 32; int i = (int)l; System.out.println(k= + k + i= + i); 实验要求(1) 学生在实验前必须进行准备,完成

9、初步的验证程序的设计和改正方案。实验时再通过调试完成最终的验证和改错,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作;课后检查学生的实验报告。实验3:数据运算实验目的(1) 熟练掌握各种运算符的使用。(2) 知道运算符的优先级、结合性和计算次序。理解表达式的的结果和类型。实验内容1. 下面程序有一行错误代码(在/*found*/下)。请改正并调试程序,使之正确运行,并使程序的运行结果为:x=10 a=11 b=20x=20 a=11 b=21注意:必须在原来位置修改,不得增加或删减程序行。class Ddd byte

10、a = 10; int b = 20; public void method(int i) byte x; /*found*/ x = i=0 ? +a : +b; System.out.println(x= + x + a= + a + b= + b); class TestDdd public static void main(String args) Ddd o = new Ddd(); o.method(0); o.method(1); 2. 定义一个类Exercise0210。该类有一个表示年份的int型成员变量year,并包含以下两个方法:public void set(int y

11、); / 设置成员变量year的值。public boolean isLeap(); / 报告year表示的年份是否为闰年。然后再定义一个应该程序起始类TestExercise0210测试该类。闰年是指能被400整除、或者能被4整除但不能被100整除的年份。实验要求(1) 学生在实验前必须进行准备,提错改错方案和完成初步的程序设计。实验要求在规定时间内独立完成,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作;课后检查学生的实验报告。实验4:Java语句实验目的(1) 了解各类Java语句。知道空语句、表达式语句、块语句

12、和标号语句。(2) 熟练掌握各种流程控制语句的使用。(3) 理解实例方法与静态方法(类方法)的区别。实验内容编写方法static int daysInMonth(int y, int m),其功能是计算y年m月份包含的天数。然后在main方法中调用该方法并输出返回结果。注:闰年2月份包含29天,其他年的2月份包含28天。实验要求(1) 学生在实验前必须进行准备,完成初步的程序设计。实验要求在规定时间内独立完成,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作,同时要注意培养学生自主改错的能力;课后检查学生的实验报告。实验

13、5:类的定义实验目的(1) 了解对象的引用,理解引用类型与基本类型的区别。(2) 了解各种类修饰符,了解类的各种语法成分。(3) 掌握变量定义的方法,深刻理解成员变量与局部变量的区别、实例变量与静态变量(类变量)的区别。(4) 掌握方法定义的方法,深刻理解实例方法与静态方法(类方法)的区别。实验内容定义一个Point类。该类用两个int型变量表示屏幕坐标系上的一个点,其软件接口如下:class Point public final static int EAST = 1; / 点移动的方向 public final static int SOUTH =2; public final stati

14、c int WEST = 3; public final static int NORTH =4; public Point(int x,int y); / 构造方法 public Point(); / 构造方法 public Point(Point p); / 构造方法 public void move(int x, int y); / 当前点移至指定位置 public void move(int way); / 按指定的方向将当前点移动1个像素 public double distance(int x, int y); / 计算两个点之间的距离 public double distance

15、(Point p); / 计算两个点之间的距离 public int getX(); / 返回当前点的X坐标 public int getY(); / 返回当前点的Y坐标 public String toString(); / 以格式(x, y)返回当前点的字符串表示然后编写一个应用程序起始类测试该类。实验要求(1) 学生在实验前必须进行准备,完成初步的程序设计。实验要求在规定时间内独立完成,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作;课后检查学生的实验报告。实验6:构造方法实验目的(1) 掌握构造方法的定义,理解

16、实例创建和实例变量初始化的过程。深刻理解构造方法与实例方法的区别。(2) 理解方法重载的概念,熟练掌握方法重载的方法。实验内容定义一个日期类MyDate,其软件接口如下:class MyDate public MyDate(MyDate date); /构造方法 public MyDate(int y, int m, int d); / 构造方法 public boolean equal(MyDate date); / 判断当前日期与参数日期是否相等 public void incrementDay(); / 使当前日期增加1天 public int getYear(); / 返回当前日期的年

17、份 public int getMonth(); / 返回当前日期的月份 public int getDay(); / 返回当前日期当月的天数 public String toString(); /以“年-月-日”格式返回当前日期的字符串表示然后编写一个应用程序起始类测试该类。特别要测试进入下一个月、下一年的情况。实验要求(1) 学生在实验前必须进行准备,完成初步的程序设计。实验要求在规定时间内独立完成,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作,同时要注意培养学生自主改错的能力;课后检查学生的实验报告。实验7:h

18、as-a关系实验目的(1) 熟练掌握以对象为单位的信息传递的方法。(2) 理解“has-a”关系的概念,熟练掌握包含“has-a”关系的类的定义。实验内容利用MyTime类和MyDate类定义一个日期时间类DateAndTime。DateAndTime类包含一个MyDate型实例变量和一个MyTime型实例变量,它们共同表示一个完整的日期时间。类的软件接口如下:class DateAndTime public DateAndTime(); / 构造方法 public DateAndTime(Date date, Time time); / 构造方法 public DateAndTime(Tim

19、e time, Date date); / 构造方法 public DateAndTime(int y, int mo, int d, int h, int mi, int s); / 构造方法 public boolean equal(DateAndTime dt);/ 判断两个日期时间是否相等 public void incrementDay(); / 使当前日期时间增加1天 public void incrementSecond(); / 使当前日期时间增加1秒 public String toString(); / 返回当前日期时间的字符串表示然后编写一个应用程序起始类测试该类。特别要

20、测试进入下一分钟、下一小时、下一个月、下一天、下一年的情况。实验要求(1) 学生在实验前必须进行准备,完成初步的程序设计。实验要求在规定时间内独立完成,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作,同时要注意培养学生自主改错的能力;课后检查学生的实验报告。实验8:is-a关系实验目的(1) 理解继承的概念,了解超类、子类、直接超类、直接子类的概念。(2) 理解“is-a”关系的概念。(3) 掌握Java子类的定义方法。(4) 了解并掌握关键字this和super的含义及其在各种场合的使用方法。(5) 深入了解考虑继承

21、特征情况下实例变量的初始化过程。实验内容在实验7:has-a关系中通过组合MyDate类和MyTime类定义了一个表示日期时间的DateAndTime类。现在请通过扩展MyDate类定义一个具有相同软件接口的日期时间类。实验要求(1) 学生在实验前必须进行准备,完成初步的程序设计。实验要求在规定时间内独立完成,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作,同时要注意培养学生自主改错的能力;课后检查学生的实验报告。实验9:Java接口实验目的(1) 理解接口的概念、作用,熟练掌握接口定义、接口实现的方法以及接口作为引用

22、类型的使用方法。(2) 熟练掌握引用类型转换的方法和规则。实验内容定义一个表示区域的接口IRange,其中声明有一个用以测试指定点p是否落在区域内的方法:boolean contains(Point p);然后定义定义一个表示屏幕坐标系上的圆形区域的R_Circle类。该类扩展Circle类并实现接口IRangle。该类包含一个Point型实例变量,表示圆区域的圆心在屏幕坐标系上的位置。最后完成下面类中的go方法。该类包含两个实例变量r和p。方法go的功能是:若点p在区域r内,就按指定的方向way(东、南、西、北)不断移动,直至该点落在区域外。随后输出点p的坐标。class Test IRan

23、ge r; Point p; Test (IRange r1, Point p1) r = r1; p = p1; public void go(int way) public static void main(String args) Point p = new Point(90, 90); IRange r = new R_Circle(50, p); / 50为半径,p为圆心位置 Point p1 = new Point(90, 90); new Test(r, p1).go(Point.EAST); 选做内容通过扩展Rectangle类并实现接口IRangle定义一个表示屏幕坐标系上的

24、矩形区域的R_Rectangle类。该类包含一个Point型实例变量,表示矩形区域的左上角在屏幕坐标系上的位置。该类的软件接口如下:class R_Rectangle extends Rectangle public R_Rectangle(); / 构造方法 public R_Rectangle(Rectangle r, Point p); / 构造方法 public R_Rectangle(int x, int y, int width, int height); / 构造方法 public boolean contains(Point p); / 测试参数点p是否落在区域内 public

25、 void moveTo(int x, int y); / 将区域移至指定位置 public Point getWhere(); / 返回区域的当前位置然后再修改上述main方法,使其能模拟一个点再的矩形区域内移动的情况。实验要求(1) 学生在实验前必须进行准备,完成初步的程序设计。实验要求在规定时间内独立完成,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作,同时要注意培养学生自主改错的能力;课后检查学生的实验报告。实验10:字符串处理实验目的(1) 理解String型字符串对象与StringBuffer型字符串对象的

26、区别。(2) 熟练掌握String类和StringBuffer类的使用。(3) 了解系统对字符串文字、字符串连接运算+的处理过程。实验内容定义一个FileSpec类,该类实现对一个文件标识符(含盘符、路径和文件名)的包装,其软件接口如下:public class FileSpec public FileSpec(String filespec); / 构造方法 public String getName(); public String getExtension(); public String getPath();实验要求(1) 学生在实验前必须进行准备,完成初步的程序设计。实验要求在规定时

27、间内独立完成,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作,同时要注意培养学生自主改错的能力;课后检查学生的实验报告。实验11:数组应用实验目的(1) 理解数组对象的概念, 熟练掌握数组类型的表示与数组变量的定义。(2) 熟练掌握数组的创建和使用。实验内容编写并测试方法static Object counting(String str),方法计算并返回参数字符串str中每个字符出现的次数。返回的Object型二维数组的长度应该为str中不同字符的个数。二维数组的第1列存放各字符的Character实例;第2列存放各字

28、符对应次数的Integer实例。实验要求(1) 学生在实验前必须进行准备,应提出相应的算法、完成初步的程序设计。实验要求在规定时间内独立完成,并完成实验报告。(2) 老师要提前预做实验,实验时应在实验室进行巡视,检查学生的实验准备、及时回答问题,纠正学生的错误操作,同时要注意培养学生自主改错的能力;课后检查学生的实验报告。实验12:例外处理实验目的(1) 熟练掌握throw语句和throws子句的用法。(2) 熟练掌握try语句的使用。理解并熟练掌握catch和finally子句的作用的用法。(3) 熟练掌握定义和使用自定义例外类型的方法。实验内容char型值能够赋值转换成int型或long型

29、,反之则不行。int型或long型能够强制转换成char型,这种转换不会抛出任何例外,但可能改变值的大小和符号。现在请定义一个Conversion类,其软件接口如下:class Conversion static char intToChar(int n) throws DataException; stativ char longToChar(long n) throws DataException;intToChar(int n)方法和longToChar(long n)方法分别将int型n和long型n转换成char型。如果转换能保证不改变值的大小和符号,比如执行下列代码后,变量x和y的值应该相等:int x = 10;char c = Conversion.intToChar(x);int y = c;那么方法正常执行;否则方法抛出一个受检查的DataException型例外。DataException类需提供一个能够接收并保存n值和一个文本信息(描述n值的类型)的构造方法,以及一个能够返回例外对象状态信息的toString()方法。请实现Conversion类和DataException类,并编写应用程序测试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1