(6) 定义机动车接口(Automobile)和非机动车接口(Nonautomobile),分别包含表示其运动模式的抽象方法;编写总的“车”类(VehicleClass),其中描述车名、车轮数,以及机动车和非机动车变量,该类实现机动车和非机动车接口;编写继承“车”类的公共汽车类(BusClass)和自行车类(BicycleClass)。
时间: 2023-05-22 16:07:18 浏览: 227
机动车接口(Automobile):
```python
class Automobile:
def move(self):
pass
```
非机动车接口(Nonautomobile):
```python
class Nonautomobile:
def move(self):
pass
```
总的“车”类(VehicleClass):
```python
class VehicleClass(Automobile, Nonautomobile):
def __init__(self, name, wheel_number, is_automobile):
self.name = name
self.wheel_number = wheel_number
self.is_automobile = is_automobile
def move(self):
if self.is_automobile:
print('机动车行驶中...')
else:
print('非机动车行驶中...')
```
继承“车”类的公共汽车类(BusClass):
```python
class BusClass(VehicleClass):
def __init__(self, name):
super().__init__(name, 4, True)
```
继承“车”类的自行车类(BicycleClass):
```python
class BicycleClass(VehicleClass):
def __init__(self, name):
super().__init__(name, 2, False)
```
以上代码是使用 Python 编写的,用于展示如何定义“机动车接口”和“非机动车接口”,以及如何编写总的“车”类、“公共汽车类”和“自行车类”。其中,“机动车接口”和“非机动车接口”都定义了一个表示运动模式的抽象方法 move(),而“总的车”类在继承上述两个接口的基础上,定义了车名、车轮数和机动车与非机动车的变量,同时实现了 move() 方法。而“公共汽车类”和“自行车类”则继承了“总的车”类,并分别在初始化方法中设置车轮数和机动车的属性值。
阅读全文