上海开放大学《Java程序基础课程实验3》形考作业线上实践答案

微信小程序
资源下载
下载价格10

上 海 开 放 大 学

学生实验报告

IMG_256

分校(站)

专 业

入学年级

学 号

姓 名

课 程 Java程序基础

实验名称 实验3(面向对象综合实验)

实验指导教师

实验日期: 年 月 日

说明:

  • 上交时,统一文件名:分校+学号+姓名+Java程序基础(实验报告3).doc
  • 独立自主地完成实验。

第一部分 类的定义及使用(10分)

实验名称: 类的定义及使用

使用主要设备: Windows 操作系统、PC计算机、JDK、Eclipse

实验目的: 1、学习类的一般结构

2、学习类的成员变量、成员方法的声明

3、学习类的实例的创建 (参考实验指导22、23、24)

一、实验要求

  1. 利用Eclipse创建一个新的项目Experiment3,本实验之后的所有源文件都在该项目中。
  2. 创建一个包含主方法的MyObject类(MyObject.java)文件。
  3. 定义一个StudentA类,类成员变量包括:姓名(name)、年龄(age 整形)、语文成绩(chinese, 单精度)、数学成绩(math,单精度)、英语成绩(english,单精度)
  4. 类成员方法包括:
  • 计算各门功课的总成绩的方法 (total ) ;
  1. 计算各门功课的平均成绩的方法 ( average ) ;
  • 设置各个类成员变量的方法(setStudent )
  1. 定义方MyObject类的主方法,按照如下值分别创建Student类对象s1、s2和s3
  姓名 年龄 语文成绩 数学成绩 英语成绩
s1 你的姓名 你的年龄 80 85 90
s2 Jack 20 78 87 87
s3 Mike 25 80 89 98
  1. 计算s1、s2、s3的总成绩及平均成绩,并分别打印,按照如下值,分别创建类对象s1、s2、s3
  2. 比较s1、s2、s3的总成绩的最大值,并打印总成绩最大的人的姓名及成绩。

二、实验记录

记录你的编写的源程序。

记录程序的运行结果。

第二部分 类的私有成员及构造方法(10分)

实验名称: 类的私有成员和公有成员

使用主要设备: Windows操作系统 、PC计算机、JDK、Eclipse

实验目的: 掌握类成员变量的控制符;掌握类的构造方法的定义及应用

(参考实验指导22、23、24)

一、实验要求

  1. 在Experiments3项目中创建相关java文件,完成如下任务。
  2. 编写一个Java应用程序(Person.java),在程序中定义一个Person类的成员变量如下
  • 姓名(name 字符串型,公有变量)
  • 年龄(age 整形,私有变量),并且范围在5~20之间
  1. Person类的成员方法:
  • 设置age的方法(setAge),要求能判断年龄设置的合理性,设置成功返回true,否则返回false,并提出错误提示。
  • 获取age信息的方法(getAge)
  • 构造方法1(无参数),构造方法能打印“Person()方法被调用”
  • 构造方法2(接收姓名信息,设置姓名属性)
  • 构造方法3(接收姓名信息、年龄信息,分别设置姓名属性、年龄属性) ,要求该构造构函数调用构造函数2 (提示:使用this )
  1. 创建类App,包含主方法,按照如下值分别创建Person类对象s1、s2、s3
  姓名 年龄
s1 你的姓名 19
s2 你的姓名 25 (如果报错,修改为18)
s3 你的姓名 16
  1. 利用构造方法1创建对象s1;利用构造方法2创建对象s2;利用构造方法3创建对象s3
  2. 分别打印s1、s2、s3的信息。

二、实验记录

1、记录你编写的源程序。

2、记录你的程序运行结果(包括报错结果)。

三、实验思考

1、打印出的s1、s2、s3的信息有什么不同,为什么?

第三部分 方法的重载(10分)

实验名称: 方法的重载

使用主要设备: Windows操作系统 、PC计算机、JDK、Eclipse

实验目的: 掌握方法重载的定义;掌握利用重载实现简单应用

(参考实验指导 实验29)

一、实验要求

  1. 在Experiments3项目中创建相关java文件,完成如下任务。
  2. 编写一个Java应用程序(MyPlus.java),在程序中定义一个MyPlus类,该类有三个plus()方法,分别对实现2个整数相加,3个整数相加和4个整数相加。要求使用方法重载实现 实现“2个整数相加”和“3个整数相加 ”的方法。并且要求实现的方法尽可能采用方法调用的形式,例如 “3个整数相加”的方法 中需要调用 “2个整数相加 的方法”。
  3. 源程序模板如下所示。(可参考实验指导书)。

IMG_257

二、实验记录

1、记录你编写的源程序。

2、记录你的程序运行结果。

第四部分 类的继承2(10分)

实验名称: 类的继承2

使用主要设备: Windows操作系统 、PC计算机、JDK、Eclipse3.7

实验目的: 掌握类继承的语法;使用类继承解决一些简单应用问题

(参考实验指导33)

一、实验要求

  1. 在Experiments3项目中创建相关java文件,完成如下任务。
  2. 创建一个C2类(C2.java)文件,包含主方法。
  3. 定义一个PersonB类
  • 类成员变量包括:姓名(name,字符串型),年龄(age,整形)
  • 成员方法:
  • 构造方法1,无参数,打印无参数的构造方法被调用;
  • 构造方法2,接受用输入的姓名信息,设置对象姓名属性;
  • 打印信息方法(introduce),打印对象的信息
  1. 定一个PersonB类的子类StudentB类
  • 新的子类成员变量:部门(department, 字符串型)
  • 定义StudentB的构造方法,能接收 姓名、年龄、部门信息,并调用父类的构造方法,完成对对象信息的设置。
  1. 定义C2类的主方法内容,利用构造方法创建StudentB类的两个实例s1,s2,信息如下表所示。调用introduce方法,打印出两个对象的信息。
  姓名 年龄 部门
s1 你的姓名 21 你就读学校的名称
s2 你的姓名 22 软件工程
       

二、实验记录

  1. 记录你的编写的源程序。
  2. 记录程序的运行结果。

三、实验思考

  1. 对象s1,s2调用introduce方法能打印出部门信息吗,为什么? 怎样修改程序打印出部门信息。

第五部分 方法的覆盖(10分)

实验名称: 方法的覆盖(参考实验指导书 实验34)

使用主要设备: Windows操作系统 、PC计算机、JDK、Eclipse

实验目的: 掌握类继承的基本语法;掌握子类方法覆盖父类方法;

理解多态的概念。

一、实验要求

  1. 在Experiments3项目中创建相关java文件,完成如下任务。
  2. 编写一个Java应用程序(Overrding.java),在程序中定一个Animal类,它拥有play()方法能打印出”我是 动物,我会 很多本领”。
  3. 定义Animal类的子类Bird类,在子类中覆盖父类的play()方法,打印出”我是鸟类,我会飞翔”。
  4. 定义Animal类的子类Fish类,在子类中覆盖父类的play()方法,打印出“我是鱼类,我会游泳”。
  5. 创建Overrding类的主方法,创建Animal的实例s1, Bird类的实例s2, Fish类的实例s3,分别打印
  6. 源程序模板如下(可参考实验指导书)。

IMG_258

二、实验记录

1.记录你编写的源程序。

2.记录程序的运行结果

三、思考题

在实验程序Overridding的基础上,补充如下程序片段:

Animal a1=new Bird();

Animal a2=new Fish();

a1.play();

a2.play();

程序执行后,打印结果是什么?为什么?

第六部分 抽象类的定义及继承(10分)

实验名称: 抽象类的定义及继承

使用主要设备: Windows操作系统 、PC计算机、JDK、Eclipse

实验目的: 掌握抽象类的语法;掌握抽象类的子类实现方法;

(参考书指导书实验35)

一、实验要求

  1. 在Experiments3项目中创建相关java文件,完成如下任务。
  2. 编写一个Java应用程序(Chouxiang.java),完成如下类的定义及管理。
  3. 在程序中定义一个抽象类Shape,它有两个抽象方法如下,如下图的程序模板。
  4. 创建Shape类的子类矩形类Rectangle,自定义其成员属性,创建该类的构造方法,实现shape类中的方法。
  5. 创建Shape类的子类圆型类Circle,自定义其成员属性,创建该类的构造方法,完成实现shape类中的方法。
  6. 在Chouxiang类主方法中创建矩形的实例 和 圆形的实例,并打印它们的面积信息。
  7. 源程序模板如下(可参考实验指导书)。

IMG_259

二、实验记录

1、记录你编写的源程序。

2、记录你的程序运行结果。

第七部分 包的定义及使用(10分)

实验名称: 包的定义及使用

使用主要设备: Windows操作系统 、PC计算机、JDK、Eclipse

实验目的: 掌握包的定义及使用;理解包的命名空间。

(参考实验指导实验40,包2)

一、实验要求

  1. 在Experiments3项目中创建相关java文件和包,完成如下任务。
  2. 创建两个包,分别是:American、Chinese,在这两个包下分别定义一个man类(man.java),内容分别如下。

IMG_260

IMG_261

IMG_262

  1. 在缺省包下编写一个包含主方法的China类(China.java),导入Chinese包中的man类,并创建实例lisi,调用say()方法打印信息。
  2. 在缺省包下编写一个包含主方法的America类(America.java),导入America包中的man类,并创建实例zhansan,调用say()方法打印信息。

二、实验指导

1、记录你编写的源程序。

2、记录你的程序运行结果,分别记录China类的执行结果和America类的执行结果。

第八部分 接口的应用1(10分)

实验名称: 接口1

使用主要设备: Windows操作系统 、PC计算机、JDK、Eclipse

实验目的: 掌握接口的语法;掌握接口的实现类的设计方法;

(参考实验指导书 实验41)

一、实验要求

  1. 在Experiments3项目中创建一个包“实验41接口的实现”,在该包中创建相关java文件,完成如下任务。
  2. 编写一个Java应用程序(MyInterface.java),MyInterface类包含主方法。
  3. 在程序中定义一个接口Shape,该接口定义一个Pi成员,及计算底面积和体积的方法,返回值为double。
  4. 定义一个Cylinder实现接口Shape,在Cylinder类中,实现接口Shape接口中的抽象方法。
  5. 在MyInterface的主方法中创建Cylinde的实例,并打印出面积及高的运算结果
  6. 源程序模板如下所示。(可参实验指导书)

IMG_263

二、实验记录

1、记录你编写的源程序。

2、记录你的程序运行结果。

三、思考题

IMG_264

请尝试结果,并说出原因。

第九部分 接口的应用2(10分)

实验名称: 接口的应用2

使用主要设备: Windows操作系统 、PC计算机、JDK、Eclipse

实验目的: 掌握接口的定义语法;掌握子类对接口的实现方法;

 

一、实验要求

  1. 在Experiments3项目中创建相关java文件,完成如下任务。
  2. 编写一个Java应用程序JieKou(JieKou.java)
  3. 在程序中定义一个接口Achievement,其包含计算平均分的方法average,要求返回单精度类型。
  4. 定义一个父类Person(Person.java),包含姓名和年龄属性;包含一个设置上述属性的构造方法;包含一个introduce方法能打印姓名和年龄的信息。
  5. 定义一个子类Student(Student.java)继承Person类并实现Achievement接口。在子类Student中实现接口中的抽象方法并调用父类的方法。
  6. JieKou的主方法中创建Student的实例s1,打印姓名和年龄信息,计算平均成绩结果。
  7. 源程序模板如下所示。(可参实验指导书)

IMG_265

二、实验记录

1、记录你编写的源程序。

2、记录你的程序运行结果。

第十部分 内部类的定义及使用(10分)

实验名称: 内部类的定义及使用

使用主要设备: Windows操作系统 、PC计算机、JDK、Eclipse

实验目的: 掌握内部类的语法及定义;掌握内部类的使用方法

 

一、实验要求

  1. 在Experiments3项目中创建相关java文件,完成如下任务。
  2. 编写一个Java应用程序(Inner.java),在程序中定义一个School类,在School类中定一个内部类Student,具体见程序模板;
  3. 在Inner类的主方法中,分别创建这两个类的对象,分别采用通过外部类成员访问内部类成员、直接访问内部类成员 的方法,打印相关类对象信息。
  4. 程序模板如下所示,补充完成相关程序。(可参考实验指导书)。

IMG_266

二、实验记录

1、记录你编写的源程序。

2、记录你的程序运行结果。

三、思考题

将school中的 name属性改为private,程序还能正常运行吗?为什么

IMG_267

点点赞赏,手留余香 给TA打赏

AI创作

课程作业代写,点击图片加微信,有偿服务

评论0

请先

支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性
显示验证码

社交账号快速登录