抽象类和接口类实现

 

 

抽象类和接口

 

题目

1. 建立一个动物的层次结构,以抽象类 Animal 为根,Cat、Spider 和 Fish 动物类

实现接口 Pet。使用接口和抽象类技术完成。类结构如图 1 所示。

图 1 类结构

cf45faf1a494ae0cceb8d6ac0220e5811f8bc47d?

完成:

① 创建 Animal 类,它是所有动物类的抽象父类。

②创建 Spider 类,继承 Animal 类。

③创建 Pet 接口。

④创建 Cat 类,继承 Animal 类并实现 Pet 接口。

1011

⑤创建 Fish 类,继承 Animal 类并实现 Pet 接口。

⑥使用 AnimalsTest 类测试代码。

 b205f1c5d452718b10f052354d45a8d369990f38?

2913bbeae19a2ae1bf0105203c0ae99dd3540491?

05baaa0f5a1534cd8e3b030373b6f0bd7d532318?

运行结果:

928a73b8f7264b38a47cae69b5b4e7bc40078154?

2. 建立一个抽象 Shape 类,有 Circle(圆形)和 Rect(矩形)子类。Shape 类有

zhouchang()和 area()两种抽象方法。

Rect 类有 cha()方法用于比较长宽的差,若长大于宽输出“长比宽大”,否则输出“宽

比长大”。(正方形)Squ 为 Rect 子类,在 Squ 类中,重写 cha()方法,并输出“长

等于宽”

要求:

① 要提供 Circle 和 Rect 类重写父类 Shape 的 zhouchang()和 area()方法。

②Circle 类要有静态常量 PI。

③为 Circle 类,Rect 类,Squ 类提供构造方法,为属性赋初值。

④编写测试类,测试上述程序。

 098d72fc6410c02aa0f107c269621f251df1aeb6?

bfd03593ce9aa810e308f5732728bcaf08b1d079?

ac30c2424c6d7e9d00235d802c56304c793c5d23?

4c6b55ba296e024dae07b8caf4913bb573050be6?

351a65b6aa14f719ba1059a18b118496d9265121?

运行:

fe931594e30b53b00f33420624d1b3a4255629f2?

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。

d3604f18a21f06fd559f4e392288a11930a6ade2?

d72ce62ada363fb2355b2b253bd76126c411925e?

cd42b6279e8f8f9e3e9fde867169e62fccb3e256?

4305ce71a775252863a97a1d21a87b92c6eda8a2?

c7ad3cecdb63dcbd914d0a59579efcab6fcac35f?

运行:

ccde72c8101e28605fcd7c89f486bacccef9baa4?

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敗北97

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值