Java模式设计卖电脑实验报告,面向对象(Java)实验0继承、接口和多态

《面向对象(Java)实验0继承、接口和多态》由会员分享,可在线阅读,更多相关《面向对象(Java)实验0继承、接口和多态(11页珍藏版)》请在金锄头文库上搜索。

1、电子信息学院实 验 报 告 书课 程 名 : 面向对象程序设计(Java) 题 目: 实验 03 继承、接口和多态 实验类别: 【验证、设计】 班 级: BX1210 学 号: 121003531028 姓 名: 俞佳星 评语:实验态度:认真( ) 一般( ) 较差( )实验结果:正确( ) 部分正确( ) 错( )实验理论:掌握( ) 熟悉( ) 了解( ) 生疏( )操作技能:较强( ) 一般( ) 较差( )实验报告:较好( ) 一般( ) 较差( )成绩: 指导教师: 王中华 批阅时间: 2014 年 3 月 25 日面向对象程序设计(Java) 实验报告 1 一、实验目的(1)掌握类。

2、的继承机制。(2)熟悉类中成员变量和方法的访问控制。(3)熟悉方法或构造方法多态性。(4)熟悉接口的定义方法。二、实验内容(1)定义一个球类 Ball,包含一个私有成员变量半径(double r),两个公有成员方法:设定半径方法(void setR(double x)) 、得到半径值方法(double getR()) 。定义一个台球类 Billiards,继承 Ball 类,包含一个私有成员变量颜色(String color) ,两个公有成员方法:设定颜色方法 setColor()、输出信息方法 show(),其中 show()方法可以输出该台球的颜色和半径值。定义一个公有类 TestBall。

3、,测试前两个类。(2)定义一个抽象类 Driver,它有 String gender(性别)和 int age(年龄)两个成员属性,还有一个抽象的成员方法 drives(Vehicle v),并从它派生出 FemaleDriver 和 MaleDriver两个子类。定义一个抽象类 Vehicle,它有 String type(车型)和 int id(车牌号码)两个成员属性,还有一个抽象的成员方法 drivedByDriver(Driver who),并从它派生出 Bus 和 Car 两个子类。定义一个测试类TestDemo,在其main()方法中先创建fd和md两个Driver对象,然后创建v。

4、b和vc两个Vehicle对象。 先将以上所有类均放置到cn.edu.sdju.exp031包中,然后以两种方式,分别通过调用drives()和drivedByDriver()成员方法输出如下字符串:A Female drives a CarA Male drives a Bus 通过将 Bus 和 Car 类放置到 cn.edu.sdju.exp032 包中,检验各个类及其成员的访问权限; 注释掉 TestDemo 类,在 cn.edu.sdju.util 包中新建一个 LimitRun 测试类。在 LimitRun类的 main()方法中先创建 20 个 Vehicle 对象(随机生成车牌。

5、号,车牌号范围为 11000) ,并规定只有双号车辆能够通过,输出所有车辆的通过情况。(3)编写程序实现如下功能:已知 Person 类包含三个公共域变量(姓名、性别、年龄)和一个构造方法,Student 类是 Person 类的派生类,包含两个新的公共域变量(学号、班号)、两个公共方法(修改年龄、显示基本信息)及一个构造方法。定义一组学生对象,并初始化他们的基本信息,然后依次输出。(4)接口实验程序文件 TestInterface.java。运行该程序,然后按【思考问题】内容修改和观察程序。interface rec_Area_Peri int getArea();int getPerime。

6、ter();class rectangle implements rec_Area_Peri面向对象程序设计(Java) 实验报告 2 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 TestInterface public static void main(String args) rectangle rect。

7、=new rectangle(10,20); System.out.println(矩形面积=+rect.getArea();System.out.println(矩形周长=+rect.getPerimeter();【思考问题】在实现类 rectangle 中注释掉一个方法后进行编译,看发生了什么?为什么?在实现类 rectangle 中将各实现方法前的 public 修饰符去掉再进行编译,看发生了什么?为什么?将接口 rec_Area_Peri 中定义的两个方法前加上 abstract 修饰符再编译,看对程序有影响否?为什么?不用单独的实现类 rectangle,直接在主类 classe T。

8、estInterface 中实现那两个方法,如何修改程序?将接口 rec_Area_Peri 中定义的两个方法拆分定义成两个接口,即每个接口只定义一个方法,程序将如何修改?三、实验结果(关键代码和运行结果)(1)package cn.edu.sdju.no28.johnson;public class testBall public static void main(String args)ball a =new ball(2);a.setR(3);System.out.println(球半径: +a.getR();billiards b=new billiards(3,red);b.setC。

9、olor(bule);b.setR(2);b.show();面向对象程序设计(Java) 实验报告 3 class ballprivate double r;ball()r=0;ball(double r)this.r=r;void setR(double r)this.r=r;double getR()return r;class billiards extends ballprivate String color;billiards()super();color=write;billiards(double r,String color)super(r);this.color=color;。

10、void setColor(String color)this.color=color;void show()System.out.println(台球颜色; +color+n台球半径: +super.getR();面向对象程序设计(Java) 实验报告 4 (1)运行结果(2)package cn.edu.sdju.no28.johnson;public class testDemo public static void main(String args)driver fd=new femaleDriver(female,20);driver md=new maleDriver(male,2。

11、0);vehicle vb=new bus(bus,239);vehicle vc=new car(car,234);fd.drives(vc);vb.dirvedByDriver(md);abstract class driverString gender;int age;public driver(String gender, int age) this.gender = gender;this.age = age;abstract void drives(vehicle v);abstract class vehicleString type;int id;public vehicle(。

12、String type, int id) this.type = type;this.id = id;abstract void dirvedByDriver(driver who);class femaleDriver extends driverpublic femaleDriver(String gender, int age) 面向对象程序设计(Java) 实验报告 5 super(gender, age);void drives(vehicle v) System.out.println(A + gender + drives a + v.type );class maleDrive。

13、r extends driverpublic maleDriver(String gender, int age) super(gender, age);void drives(vehicle v) System.out.println(A + gender + drives a + v.type);class bus extends vehiclepublic bus(String type, int id) super(type, id);void dirvedByDriver(driver who) System.out.println(A + who.gender + drives a。

14、 + type);class car extends vehiclepublic car(String type, int id) super(type, id);void dirvedByDriver(driver who) System.out.println(A + who.gender + drives a + type);(2)运行结果package cn.edu.sdju.no28.johnson;面向对象程序设计(Java) 实验报告 6 import java.util.Random;public class limitRun public static void main(String args)vehicle ve=new vehicle20;for(int i=0;i20;i+)Random rad=new 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值