|
抽象类和接口
题目
1. 建立一个动物的层次结构,以抽象类 Animal 为根,Cat、Spider 和 Fish 动物类
实现接口 Pet。使用接口和抽象类技术完成。类结构如图 1 所示。
图 1 类结构
完成:
① 创建 Animal 类,它是所有动物类的抽象父类。
②创建 Spider 类,继承 Animal 类。
③创建 Pet 接口。
④创建 Cat 类,继承 Animal 类并实现 Pet 接口。
1011
⑤创建 Fish 类,继承 Animal 类并实现 Pet 接口。
⑥使用 AnimalsTest 类测试代码。
运行结果:
2. 建立一个抽象 Shape 类,有 Circle(圆形)和 Rect(矩形)子类。Shape 类有
zhouchang()和 area()两种抽象方法。
Rect 类有 cha()方法用于比较长宽的差,若长大于宽输出“长比宽大”,否则输出“宽
比长大”。(正方形)Squ 为 Rect 子类,在 Squ 类中,重写 cha()方法,并输出“长
等于宽”
要求:
① 要提供 Circle 和 Rect 类重写父类 Shape 的 zhouchang()和 area()方法。
②Circle 类要有静态常量 PI。
③为 Circle 类,Rect 类,Squ 类提供构造方法,为属性赋初值。
④编写测试类,测试上述程序。
运行:
3. 一个运输公司从网上得到订单,订单上标有货物重量和运输里程,该公司可以
使用三种运输工具:卡车,火车,飞机。
编写运输接口,声明三个接口常量分别表示运输工具:
int PLANE=1;
int TRAIN=2;
int TRUCK=3;
同时声明一个计算费用的方法,函数的参数是重量和里程。
定义卡车类,火车类,飞机类分别实现运输接口,计算运费的方法如下:
① 卡车:运费=重量*距离*120。当距离大于 1000(km)或重量大于 60(
t)的时
候拒载,返回-1。
② 火车:当距离在 900(km)内(包含)时,运费=重量*距离*250,大于 900(km)
运费=重量*距离*300。
③ 飞机:当距离大于 500(km)时,运费=重量*距离*750,否则拒载,返回-1。
运行: