定义一个汽车类Car,包含属性speed(车速)、distance(行 车路程),包含-一个计算行车时间的方法getDrivingTime(),行车时间=行车路程/车速,定义一-个出粗车类Taxi继承Car类,在该类中添加属性pricePerKm(每公里价格),再添加-一个计费的方法 getFare(),车费=每公里价格*行车路程。在以上两个类中还应包含构造方法和属性的设置方法setXXX()和属性的访问方法getXXX(),编写main方法测试这两个类。
时间: 2024-02-15 09:02:28 浏览: 117
汽车的类定义
好的,根据你的要求,我编写了下面的代码:
```java
public class Car {
private double speed; // 车速
private double distance; // 行车路程
public Car() {}
public Car(double speed, double distance) {
this.speed = speed;
this.distance = distance;
}
public void setSpeed(double speed) {
this.speed = speed;
}
public void setDistance(double distance) {
this.distance = distance;
}
public double getSpeed() {
return speed;
}
public double getDistance() {
return distance;
}
// 计算行车时间
public double getDrivingTime() {
return distance / speed;
}
}
public class Taxi extends Car {
private double pricePerKm; // 每公里价格
public Taxi() {}
public Taxi(double speed, double distance, double pricePerKm) {
super(speed, distance);
this.pricePerKm = pricePerKm;
}
public void setPricePerKm(double pricePerKm) {
this.pricePerKm = pricePerKm;
}
public double getPricePerKm() {
return pricePerKm;
}
// 计算车费
public double getFare() {
return pricePerKm * getDistance();
}
}
```
上面的代码中,`Car`类包含了车速和行车路程两个属性,以及计算行车时间的方法`getDrivingTime()`;`Taxi`类继承了`Car`类,并新增了每公里价格属性和计算车费的方法`getFare()`。在两个类中,都包含了属性的设置方法和访问方法,以及构造方法。
下面是测试代码:
```java
public class Main {
public static void main(String[] args) {
// 创建一辆出租车
Taxi taxi = new Taxi();
taxi.setSpeed(60); // 设置车速为60km/h
taxi.setDistance(20); // 设置行车路程为20km
taxi.setPricePerKm(2.5); // 设置每公里价格为2.5元
// 输出行车时间和车费
System.out.println("行车时间:" + taxi.getDrivingTime() + "小时");
System.out.println("车费:" + taxi.getFare() + "元");
}
}
```
输出结果为:
```
行车时间:0.3333333333333333小时
车费:50.0元
```
希望这段代码能够满足你的需求。
阅读全文