java: 建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。并通过不同的构造方法创建实例。至少要求:汽车能够加速,减速,停车。 再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法。
时间: 2024-11-05 21:26:39 浏览: 32
在Java中,我们可以建立一个名为`Auto`的基础汽车类,然后定义一个子类`Car`来扩展功能。以下是代码的一个简单示例:
```java
// 定义基础Auto类
class Auto {
private int tireCount;
private String color;
private double bodyWeight;
private double speed;
// 构造方法
public Auto(int tireCount, String color, double bodyWeight) {
this.tireCount = tireCount;
this.color = color;
this.bodyWeight = bodyWeight;
this.speed = 0; // 初始速度为0
}
// 加速方法,增加默认值的速度提升
public void accelerate(double increment) {
this.speed += increment;
}
// 减速方法,减少默认值的速度降低
public void decelerate(double decrement) {
if (speed > decrement) { // 防止速度低于0
this.speed -= decrement;
}
}
// 停车方法,将速度设为0
public void stop() {
this.speed = 0;
}
// 重写toString方法,提供友好的字符串表示
@Override
public String toString() {
return "Auto{" +
"tireCount=" + tireCount +
", color='" + color + '\'' +
", bodyWeight=" + bodyWeight +
", speed=" + speed +
'}';
}
}
// 子类Car继承自Auto并添加新特性
class Car extends Auto {
private boolean hasAir Conditioning;
private boolean hasCDPlayer;
// 构造方法,包含父类的参数和额外属性
public Car(int tireCount, String color, double bodyWeight, boolean hasAir Conditioning, boolean hasCDPlayer) {
super(tireCount, color, bodyWeight);
this.hasAir Conditioning = hasAir Conditioning;
this.hasCDPlayer = hasCDPlayer;
}
// 覆盖加速方法,可以考虑添加新的行为
@Override
public void accelerate(double increment) {
super.accelerate(increment * 1.2); // 提供一些额外的动力
}
// 覆盖减速方法,同样可以增加特定操作
@Override
public void decelerate(double decrement) {
super.decelerate(decrement / 1.2); // 更慢地减速,保持稳定性
}
// 添加新的成员变量和方法,如获取空调状态或播放CD
public boolean hasAirConditioning() {
return hasAir Conditioning;
}
// 类似的方法可以添加其他特有功能
@Override
public String toString() {
return "Car{" +
"hasAir Conditioning=" + hasAir Conditioning +
", hasCDPlayer=" + hasCDPlayer +
// 同样展示父类的信息
super.toString()
'}';
}
}
```
阅读全文