java实验8 接口与类的多态 - 答案

3、按照要求实现以下类:

1)定义接口Fly和Jump,分别描述飞和跳的能力。

2)定义Locust(蝗虫)类和Balloon(气球)类,Locust类具有飞和跳的能力,Balloon类具有飞的能力。飞和跳的方法可以通过输出相应的字符串来实现。

3)写一个测试类,其中包含一个testFly()方法,其功能是让能飞的物体执行飞的动作。在主函数中分别创建Locust类和Balloon类的对象,调用testFly()方法,运行程序查看结果。 //接口

public interface Fly { void canFly();

}

public interface Jump { void canJump();

}

//蝗虫类

public class Locust implements Fly,Jump{

@Override

public void canJump() {

// TODO Auto-generated method stub

System.out.println(\); }

@Override

public void canFly() {

// TODO Auto-generated method stub

System.out.println(\); }

} //气球类

public class Balloon implements Fly { @Override

public void canFly() {

// TODO Auto-generated method stub

System.out.println(\); } }

//测试类

public class TestInter {

public static void testFly(Fly object){ object.canFly(); }

public static void main(String[] args) { // TODO Auto-generated method stub Fly l1=new Locust(); Fly b1=new Balloon(); testFly(l1);

testFly(b1); } }

4、高速公路根据不同的车型收取不同的通行费,如小车0.4元/公里,货车0.7元/公里,大车是1.2元/公里。另外每辆车都要交基本费5元。设计接口Charge,包括基本费BASE,一个方法fee(int distance)用于计算通行总费用,distance表示行驶距离。分别编写小车、货车和大车类实现Charge接口,能够根据行驶距离计算不同车型的收费费用。 //接口

public interface Charge {

int baseFee=5;//在接口中只有常量

double fee(int distance); }

//小车类

public class Car implements Charge { @Override

public double fee(int distance) {

// TODO Auto-generated method stub return baseFee+0.4*distance; }

}

//货车类

public class Truck implements Charge{ @Override

public double fee(int distance) {

// TODO Auto-generated method stub return baseFee+0.7*distance; }

}

//大车类

public class Cart implements Charge {

@Override

public double fee(int distance) {

// TODO Auto-generated method stub return baseFee+1.2*distance; }

}

五、实验后记

收获与体会 出现的错误与解决 (概述) 教师评语

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4