设计一个汽车类Auto, 其中包含一个表示速度的double型的成员变量speed、 表示启动的start()方法、表示加速的speedUp()方法以及表示停止的stop()方法。 再设计一个Auto类的子类Bus表示公共汽车, 在Bus类中定义一个int型的表示乘客数的成员变量passenger, 另外定义两个方法gotOn()和gotOff()表示乘客上车和下车。 编写程序测试Bus类的使用。
时间: 2023-06-02 12:07:51 浏览: 270
好的,这是一个关于汽车类Auto及其子类Bus的编程问题。以下是代码实现:
```python
class Auto:
def __init__(self):
self.speed = 0.0
def start(self):
print("汽车已启动")
def speedUp(self, acceleration):
self.speed += acceleration
def stop(self):
self.speed = 0.0
print("汽车已停止")
class Bus(Auto):
def __init__(self):
super().__init__()
self.passenger = 0
def gotOn(self, number):
self.passenger += number
print(f"公共汽车上车了{number}位乘客,现在总共有{self.passenger}位乘客")
def gotOff(self, number):
if number <= self.passenger:
self.passenger -= number
print(f"公共汽车下车了{number}位乘客,现在总共有{self.passenger}位乘客")
else:
print("乘客人数不足,无法下车")
# 测试
bus = Bus()
bus.start()
bus.gotOn(10)
bus.speedUp(30)
bus.gotOff(5)
bus.stop()
```
输出结果为:
```python
汽车已启动
公共汽车上车了10位乘客,现在总共有10位乘客
公共汽车下车了5位乘客,现在总共有5位乘客
汽车已停止
```
这段代码中定义了一个Auto类,其中包含了一个表示速度的成员变量speed,以及启动、加速和停止的方法。然后在这个类的基础上,定义了一个Bus类,继承了Auto类的所有属性和方法,并增加了一个表示乘客数的成员变量passenger,和表示乘客上车和下车的方法。最后,通过实例化Bus类对象并调用相关方法,测试了这个类的使用。
阅读全文