Java实现汽车租赁系统
概述
本文主要讲解如何使用Java语言来实现一个基本的汽车租赁系统。系统主要有两个角色:租客和汽车出租公司。
功能需求
系统需要实现以下功能:
- 租客可以查看汽车清单。
- 租客可以选择汽车并进行租赁。
- 汽车出租公司可以添加、删除汽车。
- 汽车出租公司可以查看当前租赁情况。
开发环境
开发环境:
- Java JDK 1.8
- Eclipse IDE
设计思路
在Java中,我们可以使用类和对象来实现面向对象的设计。因此,我们需要设计租客和汽车出租公司的类,并为其添加合适的属性和方法。
以下是基本设计思路:
- 设计一个
Vehicle
(汽车)类,包括车牌号、型号、颜色等属性,以及对这些属性的基本操作。 - 设计一个
Renter
(租客)类,包括姓名、身份证号码等属性,以及选择租赁时间和支付租金的方法。 - 设计一个
CarRentalCompany
(汽车出租公司)类,包括所有出租的汽车以及这些汽车的租赁情况等属性,以及添加新汽车、删除汽车和查看租赁情况等方法。
实现过程
1. 创建Vehicle
类
public class Vehicle {
private String plateNumber;
private String type;
private String color;
public Vehicle(String pn, String t, String c) {
plateNumber = pn;
type = t;
color = c;
}
public String getPlateNumber() {
return plateNumber;
}
public String getType() {
return type;
}
public String getColor() {
return color;
}
}
2. 创建Renter
类
public class Renter {
private String name;
private String idNumber;
public Renter(String n, String id) {
name = n;
idNumber = id;
}
public void rentVehicle(Vehicle v, Date startDate, Date endDate, double price) {
// 租车逻辑,具体实现可以根据需要自定义
}
}
3. 创建CarRentalCompany
类
public class CarRentalCompany {
private List<Vehicle> vehicles;
private Map<Vehicle, Renter> rentalInfo;
public CarRentalCompany() {
vehicles = new ArrayList<Vehicle>();
rentalInfo = new HashMap<Vehicle, Renter>();
}
public void addVehicle(Vehicle v) {
vehicles.add(v);
}
public void removeVehicle(Vehicle v) {
vehicles.remove(v);
}
public void rentVehicle(Renter r, Vehicle v, Date startDate, Date endDate, double price) {
if (!vehicles.contains(v)) {
System.out.println("车辆不在库中,无法租借!");
} else if (rentalInfo.containsKey(v)) {
System.out.println("车辆已经被租借!");
} else {
rentalInfo.put(v, r);
r.rentVehicle(v, startDate, endDate, price);
System.out.println("租借成功!");
}
}
public void returnVehicle(Vehicle v) {
if (rentalInfo.containsKey(v)) {
rentalInfo.remove(v);
System.out.println("还车成功!");
} else {
System.out.println("车辆未被租赁!");
}
}
public Map<Vehicle, Renter> getRentalInfo() {
return rentalInfo;
}
}
示例说明
示例1
Vehicle car = new Vehicle("A12345", "奔驰", "红色");
Renter renter = new Renter("张三", "123456789");
CarRentalCompany rentalCompany = new CarRentalCompany();
rentalCompany.addVehicle(car);
rentalCompany.rentVehicle(renter, car, new Date(), new Date(), 1000);
Map<Vehicle, Renter> rentalInfo = rentalCompany.getRentalInfo();
System.out.println(rentalInfo);
输出:
{Vehicle@6f496d9e=Renter@76ed5528}
说明:
- 创建一个车辆对象和一个租客对象;
- 创建一个汽车出租公司对象;
- 添加车辆到汽车出租公司的车库;
- 租客成功租车, 将租客和车辆对象放入rentalInfo对象中;
- 输出rentalInfo对象, 证明租客确实已经成功租车。
示例2
Vehicle car1 = new Vehicle("B23456", "宝马", "黑色");
Vehicle car2 = new Vehicle("C34567", "奥迪", "白色");
Renter renter = new Renter("李四", "987654321");
CarRentalCompany rentalCompany = new CarRentalCompany();
rentalCompany.addVehicle(car1);
rentalCompany.addVehicle(car2);
rentalCompany.rentVehicle(renter, car1, new Date(), new Date(), 500);
rentalCompany.rentVehicle(renter, car2, new Date(), new Date(), 600);
rentalCompany.returnVehicle(car1);
Map<Vehicle, Renter> rentalInfo = rentalCompany.getRentalInfo();
System.out.println(rentalInfo);
输出:
{Vehicle@5caf905d=Renter@5e2de80c}
说明:
- 创建两个车辆对象和一个租客对象;
- 创建一个汽车出租公司对象;
- 添加车辆到汽车出租公司的车库;
- 租客先租了car1, 再租了car2;
- 租客归还车1;
- 输出rentalInfo对象, 认证租客已经只租了车2。
总结
本文讲解了如何使用Java实现一个简单的汽车租赁系统。通过阅读本文,你可以学习到Java语言实现面向对象设计的基本思路和方法。当然实现汽车租赁系统并非仅此一种方法,具体实现还需结合实际情况进行思考。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java面向对象实现汽车租赁系统 - Python技术站