利用继承和多态知识点为汽车租赁中心开发一个汽车租赁系统,对租赁中心 的汽车进行管理,主要如下: (1)基本功能:首先,输入租赁的天数,用于最后计算租赁的费用;其次, 选择租赁的汽车类型、其次品牌、汽车型号和客车座位数;最后,系统给出分配 的车辆信息和需要支付的租赁费用,以及计算出汽车租赁的总租金,运行效果如 图3; (2)汽车租赁公司出租多种车辆,以参考
时间: 2024-02-20 17:00:23 浏览: 22
好的,下面是一个简单的实现:
首先,我们定义一个名为`Vehicle`的基类,包含车辆的基本属性,如车牌号、品牌、型号、租金等。然后,我们创建三个派生类,分别是`Car`、`Bus`和`Truck`,继承自`Vehicle`类,并在每个派生类中添加车辆特有的属性,如客车座位数、载重量等。
```python
class Vehicle:
def __init__(self, plate_num, brand, model, rental):
self.plate_num = plate_num
self.brand = brand
self.model = model
self.rental = rental
def show_info(self):
print("Plate Num:", self.plate_num)
print("Brand:", self.brand)
print("Model:", self.model)
print("Rental:", self.rental)
class Car(Vehicle):
def __init__(self, plate_num, brand, model, rental, seats):
super().__init__(plate_num, brand, model, rental)
self.seats = seats
def show_info(self):
super().show_info()
print("Seats:", self.seats)
class Bus(Vehicle):
def __init__(self, plate_num, brand, model, rental, seats):
super().__init__(plate_num, brand, model, rental)
self.seats = seats
def show_info(self):
super().show_info()
print("Seats:", self.seats)
class Truck(Vehicle):
def __init__(self, plate_num, brand, model, rental, load):
super().__init__(plate_num, brand, model, rental)
self.load = load
def show_info(self):
super().show_info()
print("Load:", self.load)
```
然后,我们创建一个名为`Rental`的类,用于计算租赁费用和车辆分配情况。该类包含租赁天数、所选车辆类型和所选车辆品牌等属性,以及计算租赁费用和分配车辆的方法。
```python
class Rental:
def __init__(self, days, vehicle_type, brand, model, seats=None, load=None):
self.days = days
self.vehicle_type = vehicle_type
self.brand = brand
self.model = model
self.seats = seats
self.load = load
self.total_price = 0
def calculate_price(self, rental):
self.total_price = self.days * rental
def rent_vehicle(self, vehicles):
for vehicle in vehicles:
if isinstance(vehicle, Car) and self.vehicle_type == "Car" and vehicle.brand == self.brand and vehicle.model == self.model and vehicle.seats == self.seats:
vehicle.show_info()
self.calculate_price(vehicle.rental)
print("Price:", self.total_price)
return
elif isinstance(vehicle, Bus) and self.vehicle_type == "Bus" and vehicle.brand == self.brand and vehicle.model == self.model and vehicle.seats == self.seats:
vehicle.show_info()
self.calculate_price(vehicle.rental)
print("Price:", self.total_price)
return
elif isinstance(vehicle, Truck) and self.vehicle_type == "Truck" and vehicle.brand == self.brand and vehicle.model == self.model and vehicle.load == self.load:
vehicle.show_info()
self.calculate_price(vehicle.rental)
print("Price:", self.total_price)
return
print("Sorry, no available vehicles.")
```
最后,在主函数中,我们首先输入租赁天数和所选车辆类型、品牌等信息,然后创建一个`Rental`对象,并调用其方法计算租赁费用和分配车辆。
```python
def main():
car1 = Car("A12345", "Toyota", "Camry", 50, 5)
car2 = Car("B23456", "Honda", "Accord", 60, 5)
bus1 = Bus("C34567", "Yutong", "ZK6100", 100, 50)
truck1 = Truck("D45678", "Foton", "Auman", 150, 5)
vehicles = [car1, car2, bus1, truck1]
days = int(input("Enter days: "))
vehicle_type = input("Enter vehicle type (Car/Bus/Truck): ")
brand = input("Enter brand: ")
model = input("Enter model: ")
if vehicle_type == "Car" or vehicle_type == "Bus":
seats = int(input("Enter seats: "))
rental = Rental(days, vehicle_type, brand, model, seats=seats)
else:
load = int(input("Enter load: "))
rental = Rental(days, vehicle_type, brand, model, load=load)
rental.rent_vehicle(vehicles)
```
这个简单的汽车租赁系统实现了基本功能,可以根据具体需求进行修改和扩展。