首先我们看一下题目,有点冗长。但随着我们技能的增加,肯定要处理越来越复杂的问题:
- 需求:首先定义一个抽象类Car
- 抽象类中包含属性:平均速度,状态(停止,启动,运行中),定义一个抽象方法run()抽象方法
- 一个start()方法:打印xx赛车启动,如果状态是停止,状态改为启动,否则
- 一个stop()方法:打印xx赛车速度减慢,最终停止,状态改为停止
- 创建一个跑车类Vieche,特有属性外挂装备(如氮气),继承Car并重写run方法,输出xx赛车平均速度为xxx,使用氮气后平均速度+10
- 创建一个卡车类truck,特有属性轮胎数,继承Car并重写run方法,输出xx卡车平均速度为xxx,轮胎数减少,平均速度+减少的个数*3
- 创建一个SUV类,特有属性品牌,特有方法亮品牌():速度加3,继承Car并重写run方法,输出xxSUV平均速度为xxx,调用亮品牌方法
- 创建一个车手类Driver,属性为名称,方法为开车drive(Car car):car.start(),car.run,car.stop
- 最后编写测试类TestDriver,创建车手对象,通过多态创建赛车、卡车、SUV的实例对象,并多态调用drive方法,实现各个车的万米赛车过程
- 评分标准
- (应该使用封装的地方使用封装)(10)
- 创建Car抽象类,并定义抽象方法run.(15)
- 创建Vieche类继承Car类,重写play方法。(10)
- 创建Truck类继承Car类,重写run方法。(10)
- 创建SUV类继承Car类,重写run方法。(10)
- 编写Driver类(10)
- 编写测试类,通过多态创建对象(15)
- 实现各个车的万米赛车过程
public abstract class Car { String name; Car c; double avgSpeed; String state; abstract void run(); }
接着创建一个跑车类Vieche,特有属性外挂装备(如氮气),继承Car并重写run方法,输出xx赛车平均速度为xxx,使用氮气后平均速度+10。注意每种赛车的特性,在重写的时候要加上去。代码如下:
public class Vieche extends Car { int numNitrogen=5;//氮气的数量 Scanner s=new Scanner(System.in); void run() { System.out.println(name+"的平均速度为:"+avgSpeed); System.out.println("是否使用氮气,是输入1,否输入2.您现在拥有的氮气数量为:"+numNitrogen); int num=s.nextInt(); if(num==1){ avgSpeed=avgSpeed+10; numNitrogen-=1; System.out.println("加速成功,现在车速为:"+avgSpeed); }else{ System.out.println("好的,氮气继续保留"); } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)