JAVA 某汽车租赁公司出租多种车辆
时间: 2024-09-14 15:08:05 浏览: 91
在Java中,一个汽车租赁公司出租多种车辆可以通过定义一个基类或接口来实现多态。通常,基类会定义车辆共有的属性和行为,而不同的车辆类型则会通过继承这个基类来实现各自特有的属性和行为。以下是实现这一概念的一个简化示例:
首先定义一个基类叫做`Vehicle`(车辆),它包含所有车辆共有的属性和方法,例如车轮数量、引擎启动和停车方法等。然后为每种车辆类型创建子类,例如`Car`(小汽车)、`Truck`(卡车)和`Motorcycle`(摩托车),这些子类将继承`Vehicle`类,并根据实际情况重写或添加特定的方法。
```java
// 基类
public abstract class Vehicle {
protected int wheels;
public Vehicle(int wheels) {
this.wheels = wheels;
}
public void startEngine() {
// 发动引擎的共同逻辑
System.out.println("Engine started.");
}
public void stopEngine() {
// 停止引擎的共同逻辑
System.out.println("Engine stopped.");
}
public abstract void drive(); // 抽象方法,要求子类实现
}
// 小汽车类
public class Car extends Vehicle {
public Car() {
super(4); // 小汽车通常有4个车轮
}
@Override
public void drive() {
System.out.println("Driving the car.");
}
}
// 卡车类
public class Truck extends Vehicle {
public Truck() {
super(18); // 卡车可能有18个车轮
}
@Override
public void drive() {
System.out.println("Driving the truck.");
}
}
// 摩托车类
public class Motorcycle extends Vehicle {
public Motorcycle() {
super(2); // 摩托车通常有2个车轮
}
@Override
public void drive() {
System.out.println("Driving the motorcycle.");
}
}
```
在汽车租赁公司中,我们可以使用`Vehicle`类型的引用变量来引用任何`Vehicle`的子类对象,并通过这个引用来调用相同的方法,实现多态性。例如:
```java
public class RentalCompany {
public static void main(String[] args) {
Vehicle[] vehicles = new Vehicle[3];
vehicles[0] = new Car();
vehicles[1] = new Truck();
vehicles[2] = new Motorcycle();
for (Vehicle vehicle : vehicles) {
vehicle.startEngine();
vehicle.drive();
vehicle.stopEngine();
System.out.println("Vehicle has " + vehicle.wheels + " wheels.");
}
}
}
```
这种方式使得我们可以用统一的方式处理不同类型的车辆,增加了代码的可扩展性和灵活性。
阅读全文