用python编写程序并测试,有一个汽车类 Vehicle,类中的私有数据成员为车轮个数 wheels 和车重 weight;小车类 Car 是汽车类 vehicle 派生类,其中包含载客人数 passenger_load,默认 4 人;卡车类 Truck 是汽车类 vehicle 派生类,其中包含载 客人数 passenger_load 和载重量 payload。
时间: 2024-02-12 22:05:26 浏览: 109
好的,这是一个面向对象编程的问题,我可以帮你解决。以下是代码实现及解释:
```python
# 定义 Vehicle 类
class Vehicle:
# 构造函数,初始化车轮个数和车重
def __init__(self, wheels, weight):
self.__wheels = wheels
self.__weight = weight
# 获取车轮个数
def get_wheels(self):
return self.__wheels
# 获取车重
def get_weight(self):
return self.__weight
# 定义 Car 类,继承 Vehicle 类
class Car(Vehicle):
# 构造函数,初始化载客人数为 4
def __init__(self, wheels, weight):
super().__init__(wheels, weight)
self.__passenger_load = 4
# 获取载客人数
def get_passenger_load(self):
return self.__passenger_load
# 定义 Truck 类,继承 Vehicle 类
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 get_payload(self):
return self.__payload
```
在上面的代码中,我们先定义了一个 Vehicle 类,它有两个私有数据成员,即车轮个数和车重。然后我们定义了 Car 类和 Truck 类,它们都继承了 Vehicle 类。在 Car 类中,我们定义了一个载客人数的数据成员,默认值为 4。在 Truck 类中,我们定义了一个载客人数和一个载重量的数据成员。这些类中都有获取数据成员的方法,我们可以通过这些方法获取相应的属性值。
接下来,我们可以测试一下这些类的功能,例如:
```python
# 创建一个车轮个数为 4,车重为 1000 的小车
my_car = Car(4, 1000)
# 获取车轮个数和车重
print("My car has", my_car.get_wheels(), "wheels and weighs", my_car.get_weight(), "pounds.")
# 获取载客人数
print("My car can carry", my_car.get_passenger_load(), "passengers.")
# 创建一个车轮个数为 6,车重为 5000,载客人数为 2,载重量为 10000 的卡车
my_truck = Truck(6, 5000, 2, 10000)
# 获取车轮个数、车重、载客人数和载重量
print("My truck has", my_truck.get_wheels(), "wheels and weighs", my_truck.get_weight(), "pounds.")
print("My truck can carry", my_truck.get_passenger_load(), "passengers and has a payload of", my_truck.get_payload(), "pounds.")
```
这样我们就可以测试出我们定义的类的功能了。
阅读全文