Java实现定义一个汽车类 Car ,包含属性 speed (车速)、 distance (行车路程),包含一个计算行车时间的方法 getDrivingTime (),行车时间=行车路程/车速,定义一个出粗车类 Taxi 继承 Car 类,在该类中添加属性 pricePerKm (每公里价格),再添加一个计费的方法 getFare (),车费=每公里价格*行车路程。在以上两个类中还应包含构造方法和属性的设置方法 setXXX ()和属性的访问方法 getXXX (),编写 main 方法测试这两个类。
时间: 2024-02-15 21:04:45 浏览: 272
好的,这是一个关于Java面向对象编程的问题,我可以为你解答。
首先,我们定义一个 Car 类,包含 speed 和 distance 两个属性,以及一个计算行车时间的方法 getDrivingTime(),代码如下:
```java
public class Car {
private int speed; // 车速,单位 km/h
private int distance; // 行车路程,单位 km
public Car(int speed, int distance) {
this.speed = speed;
this.distance = distance;
}
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public int getDistance() {
return distance;
}
public void setDistance(int distance) {
this.distance = distance;
}
public double getDrivingTime() {
return (double)distance / speed; // 行车时间 = 行车路程 / 车速
}
}
```
接下来,我们定义一个 Taxi 类,继承 Car 类,并添加一个 pricePerKm 属性和一个计算车费的方法 getFare(),代码如下:
```java
public class Taxi extends Car {
private double pricePerKm; // 每公里价格,单位元/公里
public Taxi(int speed, int distance, double pricePerKm) {
super(speed, distance);
this.pricePerKm = pricePerKm;
}
public double getPricePerKm() {
return pricePerKm;
}
public void setPricePerKm(double pricePerKm) {
this.pricePerKm = pricePerKm;
}
public double getFare() {
return pricePerKm * getDistance(); // 车费 = 每公里价格 * 行车路程
}
}
```
最后,我们在 main 方法中创建一个 Taxi 对象,设置属性并调用方法进行测试,代码如下:
```java
public static void main(String[] args) {
Taxi taxi = new Taxi(60, 100, 2.5); // 速度为 60 km/h,行车路程为 100 km,每公里价格为 2.5 元
double drivingTime = taxi.getDrivingTime(); // 计算行车时间
double fare = taxi.getFare(); // 计算车费
System.out.println("行车时间:" + drivingTime + " 小时");
System.out.println("车费:" + fare + " 元");
}
```
输出结果为:
```
行车时间:1.6666666666666667 小时
车费:250.0 元
```
注意,以上代码只是一个简单的示例,实际开发中还需要考虑很多细节问题,比如属性的合法性校验、异常处理等等。
阅读全文