1. 编写python并测试,有一个汽车类 Vehicle,类中的私有数据成员为车轮个数 wheels 和车重 weight;小车类 Car 是汽车类 vehicle 派生类,其中包含载客人数 passenger_load,默认 4 人;卡车类 Truck 是汽车类 vehicle 派生类,其中包含载 客人数 passenger_load 和载重量 payload。 提示:写类时要使用 get 和 set 方法,Vehicle 类定义 display()显示车轮 和重量,Car 和 Truck 中要对 display()进行同名覆盖。
时间: 2024-02-12 10:08:09 浏览: 24
好的,以下是代码实现:
```python
class Vehicle:
def __init__(self, wheels, weight):
self.__wheels = wheels
self.__weight = weight
def get_wheels(self):
return self.__wheels
def set_wheels(self, wheels):
if wheels > 0:
self.__wheels = wheels
def get_weight(self):
return self.__weight
def set_weight(self, weight):
if weight > 0:
self.__weight = weight
def display(self):
print("车轮个数:", self.__wheels)
print("车重:", self.__weight)
class Car(Vehicle):
def __init__(self, wheels, weight, passenger_load=4):
super().__init__(wheels, weight)
self.__passenger_load = passenger_load
def get_passenger_load(self):
return self.__passenger_load
def set_passenger_load(self, passenger_load):
if passenger_load > 0:
self.__passenger_load = passenger_load
def display(self):
super().display()
print("载客人数:", self.__passenger_load)
class Truck(Vehicle):
def __init__(self, wheels, weight, passenger_load, payload):
super().__init__(wheels, weight)
self.__passenger_load = passenger_load
self.__payload = payload
def get_passenger_load(self):
return self.__passenger_load
def set_passenger_load(self, passenger_load):
if passenger_load > 0:
self.__passenger_load = passenger_load
def get_payload(self):
return self.__payload
def set_payload(self, payload):
if payload > 0:
self.__payload = payload
def display(self):
super().display()
print("载客人数:", self.__passenger_load)
print("载重量:", self.__payload)
```
你可以通过以下方式进行测试:
```python
car = Car(4, 1000)
car.display()
truck = Truck(6, 5000, 2, 5000)
truck.display()
```
输出结果为:
```
车轮个数: 4
车重: 1000
载客人数: 4
车轮个数: 6
车重: 5000
载客人数: 2
载重量: 5000
```