java面向对象实验精华
更新时间:2023-05-23 17:49:01 阅读量: 实用文档 文档下载
大学计算机专业上课java面向对象实验精华指导书
实验四 面向对象高级特性
一、实验目的:
1.掌握继承、多态的概念与实现方法;
2. 掌握包和接口的定义和使用方法;
3.掌握Java的异常处理。
二、实验要求:
1.能实现类的继承关系;
2.用多种方法创建各个类的对象;
3.程序应包括各个被调用方法的执行结果的显示。
4. 写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。(附运行界面、源代码)。
每次实验,要求将实验的电子档保存,目录结构如下:
全学号_姓名\实验N\源代码
\实验报告电子档
期末由各班班长统一收好,刻光盘交给老师。
三、实验内容:
首先完成后面的验证性实验内容(不用写到实验报告中),然后再完成下列实验报告内容。
1.分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:
(1) Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化。
(2)Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D的平移。
(3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量x, y,z的初始化。
(4)Point3D有一个void型成员方法offset(int a, int b,int c),该方法可以实现Point3D的平移。
(5)在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point2D的对象p3d1,p3d2,打印出他们之间的距离。
2.定义抽象类Shape,抽象方法为showArea(),求出面积并显示,定义矩形类Rectangle,正方形类Square,圆类 Circle,根据各自的属性,用showArea方法求出各自的面积,在main方法中构造3个对象,调用showArea方法。
定义接口DiagArea,其中包含方法double getDiagonal()求对角线长, double getArea()求面积,定义一个矩形类,实现此接口,并自行扩充成员变量和方法,定义一个正方形类继承矩形类(如矩形有长w和宽h,正方形有边x,并有相应的构造函数,有一个方法中一次直接显示边长、面积和对角线长),在另一类中的主方法里使用测试该类。
3.定义一个描述人的基本类
,该类包括人的性别和出生日期两个数据成员,以及设置和获取这些属性值的方法成员;再定义一个大学生类,使大学生类具有人的所有属性外,还具有姓名、学号,大学入学成绩,籍贯属性以及设置和获取这些属性值的方法成员;编写完整的程序,完成一个具有班级学生信息管理功能的程序。
4.学校中有老师和学生两
大学计算机专业上课java面向对象实验精华指导书
类人,而在职研究生既是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。
1)设计两个信息管理接口StudentManageInterface和TeacherManageInterface。其中,StudentInterface接口包括setFee()方法和getFee()方法,分别用于设置和获取学生的学费;TeacherInterface接口包括setPay()方法和getPay()方法,分别用于设置和获取教师的工资
2) 定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface接口,它定义的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资)。
3) 创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“provide a loan”(需要贷款)信息。
提示:
1)定义两个接口,分别在其中申明两个方法。
2)定义主类Graduate,实现这两个接口。
3)定义主类的成员变量,和构造方法。
4)给出四个接口方法的实现。
5)给出一个计算是否需要贷款的方法,在里面统计年收入和学费,并输出是否需要贷款的信息。
6)写main方法。在其中创建一个姓名为“zhangsan”的研究生,调用计算是否需要贷款的方法。
5、异常处理
1. 从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。
2.写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
3.自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z赋值,方法求面积get
Area和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。
正在阅读:
java面向对象实验精华05-23
中医体质量化辨识与调养08-12
跳绳比赛作文300字03-31
2014年精神文明建设汇报材料02-21
法语选修课考试题07-25
360度绩效考核实施办法08-11
初中数学中考模拟试卷及答案 (53)03-08
描写表演的四字词语02-21
智能变电站题库(修改)11-07
明德小学2015年元旦活动方案04-30
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 面向
- 对象
- 实验
- 精华
- java
- 2013年高考文科数学山东卷试题与答案word解析版
- 八年级语文下册 第18课 口技导学案1(无答案) 苏教版
- 2013师德师风学习心得
- 南京移动五项措施推进全业务运营
- 七年级上册——利润打折问题(最新整理)
- 人教新目标最新版七年级上册单词表
- 江苏省成人计算机统考试题汇编(选择题)
- 日常祝福短信2016
- 2012高考数学二轮复习:第23课时 数列求和
- 人教版化学必修2第四章第一节《开发利用金属矿物和海水资源》
- 1998-2008浙大管理学考研试卷
- 学校安全教育之十六珍爱生命安全第一安全教案
- 正压浓相气力输灰系统堵管原因及处理方法
- 低碳经济的背景和发展历史
- 七年级美术上册---人体黄金分割
- 煤矿安全检查工安全技术培训大纲及考核要求
- 什么是质量1.0, 质量2.0, 质量3.0和质量 4.0
- 解灾增运秘法集仕途篇8
- 2013年秋季小学教导处工作计划(通用版)
- 北京交通大学附中2014届高考数学一轮复习 推理与证明单元精品训练