虚函数与多态性声明一个车(vehicle)基类,有Run、Stop 等成员西数,由此派生出自行车(bicycle )类、汽车(motorcar) 类,从bicycle 和motorcar 派生出摩托车 (motorcycle)类,它们都有Run、Stop 等成员西数。观家虚西数的作用,并将所编写的代码补充在右侧任务挑战区 Begin-Epd之间。
时间: 2024-03-16 17:45:47 浏览: 58
虚函数可以实现多态性,即不同的对象调用同一个函数,可以有不同的行为。在此基础上,我们可以重写(override)基类的虚函数,使得派生类可以按照自己的需求来实现该函数。具体实现如下所示:
```python
class Vehicle:
def Run(self):
print("Vehicle is running")
def Stop(self):
print("Vehicle has stopped")
class Bicycle(Vehicle):
def Run(self):
print("Bicycle is running")
class Motorcar(Vehicle):
def Run(self):
print("Motorcar is running")
class Motorcycle(Bicycle, Motorcar):
def Run(self):
print("Motorcycle is running")
v = Vehicle()
v.Run()
b = Bicycle()
b.Run()
m = Motorcar()
m.Run()
mc = Motorcycle()
mc.Run()
```
这里对基类 `Vehicle` 中的 `Run` 函数进行了虚函数声明,派生类 `Bicycle`、`Motorcar` 和 `Motorcycle` 分别重写了该函数。当不同的对象调用 `Run` 函数时,会根据对象的类型决定调用哪个重写函数,实现多态性。
输出结果为:
```
Vehicle is running
Bicycle is running
Motorcar is running
Motorcycle is running
```
可以看到,不同类型的对象调用 `Run` 函数时,表现出了不同的行为。
阅读全文