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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

BX110937l李建辉 实验03.docx

1、BX110937l李建辉 实验03电子信息学院实验报告书课程名: 面向对象程序设计(Java) 题 目: 实验03 继承、接口和多态 实验类别: 【验证、设计】 班 级: BX1109 学 号: 37 姓 名: 李建辉 一、实验目的(1)掌握类的继承机制。(2)熟悉类中成员变量和方法的访问控制。(3)熟悉方法或构造方法多态性。(4)熟悉接口的定义方法。二、实验内容(1)定义一个球类Ball,包含一个私有成员变量半径(double r),两个公有成员方法:设定半径方法(void setR(double x))、得到半径值方法(double getR())。定义一个台球类Billiards,继承B

2、all类,包含一个私有成员变量颜色(String color),两个公有成员方法:设定颜色方法setColor()、输出信息方法show(),其中show()方法可以输出该台球的颜色和半径值。定义一个公有类TestBall,测试前两个类。(2)定义一个抽象类Driver,它有String gender(性别)和int age(年龄)两个成员属性,还有一个抽象的成员方法drives(Vehicle v),并从它派生出FemaleDriver和MaleDriver两个子类。定义一个抽象类Vehicle,它有String type(车型)和int id(车牌号码)两个成员属性,还有一个抽象的成员方法

3、drivedByDriver(Driver who),并从它派生出Bus和Car两个子类。定义一个测试类TestDemo,在其main()方法中先创建fd和md两个Driver对象,然后创建vb和vc两个Vehicle对象。1 先将以上所有类均放置到cn.edu.sdju.exp031包中,然后以两种方式,分别通过调用drives()和drivedByDriver()成员方法输出如下字符串:A Female drives a CarA Male drives a Bus2 通过将Bus和Car类放置到cn.edu.sdju.exp032包中,检验各个类及其成员的访问权限; 注释掉TestDem

4、o类,在cn.edu.sdju.util包中新建一个LimitRun测试类。在LimitRun类的main()方法中先创建20个Vehicle对象(随机生成车牌号,车牌号范围为11000),并规定只有双号车辆能够通过,输出所有车辆的通过情况。(3)编写程序实现如下功能:已知Person类包含三个公共域变量(姓名、性别、年龄)和一个构造方法,Student类是Person类的派生类,包含两个新的公共域变量(学号、班号)、两个公共方法(修改年龄、显示基本信息)及一个构造方法。定义一组学生对象,并初始化他们的基本信息,然后依次输出。(4)接口实验程序文件TestInterface.java。运行该程

5、序,然后按【思考问题】内容修改和观察程序。interface rec_Area_Peri int getArea(); int getPerimeter();class rectangle implements rec_Area_Peri int width, length; rectangle(int w, int l) width=w; length=l; public int getArea() return width*length; public int getPerimeter() return (2*(width+length); public class TestInterfa

6、ce public static void main(String args) rectangle rect=new rectangle(10,20); System.out.println(矩形面积=+rect.getArea(); System.out.println(矩形周长=+rect.getPerimeter(); 【思考问题】在实现类rectangle中注释掉一个方法后进行编译,看发生了什么?为什么?在实现类rectangle中将各实现方法前的public修饰符去掉再进行编译,看发生了什么?为什么?将接口rec_Area_Peri中定义的两个方法前加上abstract修饰符再编译,

7、看对程序有影响否?为什么?不用单独的实现类rectangle,直接在主类classe TestInterface中实现那两个方法,如何修改程序?将接口rec_Area_Peri中定义的两个方法拆分定义成两个接口,即每个接口只定义一个方法,程序将如何修改?三、实验结果(关键代码和运行结果)(1)(2)1)将Bus类和Car类放置到cn.edu.sdju.exp032包中,类型依然为public,则编译正确。说明public是公共成员,可以在类外被使用。2)将Bus类和Car类放置到cn.edu.sdju.exp032包中,将Driver类改为protected型,则 编译错误。放回依旧错误。说明

8、抽象类不能为protected类型。3)将Bus类和Car类放置到cn.edu.sdju.exp032包中,将Driver类改为package型,则编译错误。再将Bus类和Car类放回cn.edu.sdju.exp031包中,则编译正确。说明包作用域成员只能在同一个包中被使用。4)将Bus类和Car类放置到cn.edu.sdju.exp032包中,将Driver类改为private型,则 编译错误。放回仍然错误。说明抽象类不能为private类型。(3)(4)出现了错误,因为接口中声明了子方法都必须在子类中具体实现,由于只实现了一个,就出现了错误出现了错误,因为如果去掉public则只有同一个

9、包中的类才能实现这个借口,不同包的类均无法实现这个接口,使之出现错误。没有影响,因为接口中定义的方法本来就是抽象的方法,所以就算加上abstract也只是更明确地说明而已,不会造成什么影响。interface rec_Area_Peri abstract int getArea();interface rec_Area_Peri abstract int getPerimeter();四、实验体会在这次试验中,我对超类和子类间的继承和使用权限有了一定的了解。但还是不够清晰,尤其是this,super的用法还没能熟练掌握。接口和抽象类的用法了解也不够深,如果脱离课本或是其他案例的参考,我还是写不出程序。因为对于一些用法还是不够了解,而且程序写的也不够简洁。

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

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