功能要求: 1)汽车基本信息管理,包括车辆及车辆租赁信息的增、删、改、查功能;(装在数组中)【类1】 2)可出租的汽车有客车、面包车和轿车,要求使用继承设计类的结构。(写一个汽车父类,找共同点,写各特点)【类2】 3)客户信息管理,包括客户信息的增、删、改、查功能,可对客户分组,不同组别给予不同的折扣。(装在数组中)【类3】 4)日常业务管理,包括汽车租赁、汽车归还等功能,归还汽车时进行结算价钱。() 5)数据可保存到数组中。 6)要有命令行式的菜单让用户选择功能。 Main里面整合; 实验报告要求: 1)结构清晰、语句通顺; 2)系统的设计目标和应实现的功能; 3)各个类和接口的作用以及它们之间的联系; 4)核心类的设计思路和关键代码
时间: 2023-11-22 11:52:52 浏览: 141
C语言实现车辆出租管理系统
系统设计目标:实现一个简单的汽车租赁管理系统,包括基本信息管理、客户信息管理、日常业务管理等功能。
类1:CarInfo类,用于管理车辆及车辆租赁信息,包括增、删、改、查功能。该类将车辆信息存储在数组中,可通过车牌号进行查找。CarInfo类的关键代码如下:
```java
public class CarInfo {
private ArrayList<Car> cars;
public CarInfo() {
cars = new ArrayList<>();
}
public void addCar(Car car) {
cars.add(car);
}
public void removeCar(String licensePlate) {
for (int i = 0; i < cars.size(); i++) {
if (cars.get(i).getLicensePlate().equals(licensePlate)) {
cars.remove(i);
break;
}
}
}
public void modifyCar(String licensePlate, Car car) {
for (int i = 0; i < cars.size(); i++) {
if (cars.get(i).getLicensePlate().equals(licensePlate)) {
cars.set(i, car);
break;
}
}
}
public Car searchCar(String licensePlate) {
for (int i = 0; i < cars.size(); i++) {
if (cars.get(i).getLicensePlate().equals(licensePlate)) {
return cars.get(i);
}
}
return null;
}
}
```
类2:Car类,作为汽车的父类,定义了汽车的基本信息和方法,包括车牌号、品牌、型号、租金、是否可租等信息。子类客车、面包车和轿车继承了Car类,并根据各自的特点进行了扩展。Car类的关键代码如下:
```java
public abstract class Car {
private String licensePlate; // 车牌号
private String brand; // 品牌
private String model; // 型号
private double rent; // 租金
private boolean isRentable; // 是否可租
public Car(String licensePlate, String brand, String model, double rent, boolean isRentable) {
this.licensePlate = licensePlate;
this.brand = brand;
this.model = model;
this.rent = rent;
this.isRentable = isRentable;
}
public String getLicensePlate() {
return licensePlate;
}
public String getBrand() {
return brand;
}
public String getModel() {
return model;
}
public double getRent() {
return rent;
}
public boolean isRentable() {
return isRentable;
}
public void setRent(double rent) {
this.rent = rent;
}
public void setRentable(boolean rentable) {
isRentable = rentable;
}
public abstract void showInfo(); // 打印汽车信息
public abstract String getType(); // 获取汽车类型
}
```
类3:CustomerInfo类,用于管理客户信息,包括增、删、改、查功能,可对客户分组,不同组别给予不同的折扣。该类将客户信息存储在数组中,可通过姓名进行查找。CustomerInfo类的关键代码如下:
```java
public class CustomerInfo {
private ArrayList<Customer> customers;
public CustomerInfo() {
customers = new ArrayList<>();
}
public void addCustomer(Customer customer) {
customers.add(customer);
}
public void removeCustomer(String name) {
for (int i = 0; i < customers.size(); i++) {
if (customers.get(i).getName().equals(name)) {
customers.remove(i);
break;
}
}
}
public void modifyCustomer(String name, Customer customer) {
for (int i = 0; i < customers.size(); i++) {
if (customers.get(i).getName().equals(name)) {
customers.set(i, customer);
break;
}
}
}
public Customer searchCustomer(String name) {
for (int i = 0; i < customers.size(); i++) {
if (customers.get(i).getName().equals(name)) {
return customers.get(i);
}
}
return null;
}
}
```
日常业务管理:包括汽车租赁、汽车归还等功能,归还汽车时进行结算价钱。在Main类中实现。
核心类的设计思路:采用类的继承和组合方式,将汽车、客户和租赁信息分别封装成类,通过数组进行管理,实现了基本的增、删、改、查功能,并且在Car类中定义了抽象方法,可通过子类进行扩展。在Main类中,通过命令行式的菜单让用户选择功能,实现了简单的日常业务管理。
阅读全文