【优质】实验五 继承与接口 下载本文

内容发布更新时间 : 2024/11/16 1:22:47星期一 下面是文章的全部内容请认真阅读。

实验五 继承与接口

1. 实验目的

1、掌握类的继承细节内容,包括子类的继承、子类对象创建、成员变量的继承与隐藏、方法的继承与重写

2、掌握重写的目的以及怎样使用super关键字 3、掌握上转型对象与接口回调技术

4、掌握类怎样实现接口,及面向接口的编程思想

2. 实验内容

1、参考实验指导书中P26-37页,完成下面实验: 1)实验1中国人与美国人 2)实验2银行与利息 3)实验3面积之和 4)实验4歌手大赛 5)实验5天气预报 2、完成习题:

1)根据要求修改实验2,参照建设银行再编写一个商业银行(广发行),让程序输出8000元在广发行8年零212天的利息。

2) 根据要求修改实验3,再增加一种几何图形(梯形),并让主类中的tuxing的某些元素是梯形的上转型对象。

3)仿照实验5编写一个程序实现模拟水杯中的水在不同温度下可能出现的状态。

4)编写一个接口并创建两个实现该接口的类A、B。A、B类实现了接口的f方法,A类的f方法内容为计算1!+3!+5!……+9!并返回结果,B类的f方法内容为计算2!+4!+6!……+10!也返回结果;再编一个执行类,执行类运行时要求通过接口回调方式用同一个对象实例分别调用A类的f方法和B类的f方法。

public class qiuhe{

public static void main(String args[]){ long sum=0;

System.out.println(\……+10!=\ for(int i =1; i<=10 ; i+=2){

sum = sum + method(i); //调用方法 System.out.println(sum); }

//使用递归方法

static long method(int index){ if(index==1)

return 1; else

return index*method(index-1); } }

public class qiuhe{

public static void main(String args[]){ long sum=0;

System.out.println(\……+10!=\ for(int i =1; i<=10 ; i+=2){

sum = sum + method(i); //调用方法 System.out.println(sum); }

//使用递归方法

static long method(int index){ if(index==1) return 1; else

return index*method(index-1); } }

3. 实验步骤

参考实验指导书中P26-37页的实验步骤。

4. 评分标准

1. 2. 3. 4. 5.

A——内容功能完善,编程风格好,人机接口界面好; B——内容功能完善,编程风格良好,人机接口界面良好; C——完成必做内容; D——能完成必做内容;

E——未按时完成必做内容,或者抄袭(雷同者全部为E).

参照书上实验按模版要求,将【代码】替换为Java程序代码,编写好完整

的程序文档,最后运行得到的相关文件,把实验所得文件一起打包上交。(压缩包的文件名为:学号后三位和名字开头字母,如109zhh.RAR|ZIP)

实验1 中国人与美国人

模板代码

People.java

public class People { protected double weight ,height; public void speakHello(){ System.out.println(\ } public void averageHeight(){ height=173; System.out.println(\ } public void averageWeight(){ weight=70; System.out.println(\ } }

ChinaPeople.java

public class ChinaPeople extends People{ public void speakHello(){ System.out.println(\你好\ } public void averageHeight(){ height=168.78; System.out.println(\中国人的平均身高:\厘米\ } //【代码1】//重写public void averageWeight()方法,输出:\中国人的平均体重:65公斤\ public void chinaGongfu(){ System.out.println(\坐如钟,站如松,睡如弓\ } }

AmericanPeople.java

public class AmericanPeople extends People{