:继承与方法重写 描述:设计一个Vehicle类,包含属性speed和方法move()。然后创建两个子类Car和Bicycle,它们都继承自Vehicle类,并重写move()方法以表示各自的移动方
时间: 2024-11-09 16:31:20 浏览: 22
在面向对象编程中,继承是一种结构,它允许一个类(称为子类或派生类)从另一个类(称为父类或基类)获取特性(如属性和方法)。在这个例子中,我们有一个`Vehicle`类,它有两个基本特征:`speed`(速度)和`move()`方法(表示移动的行为)。
接下来,我们创建两个子类:`Car`和`Bicycle`。这两个类都会继承`Vehicle`的所有属性和方法,包括`speed`。关键的部分在于,它们可以重写(override)`move()`方法。这意味着每个子类可以根据自身的特点提供特有的移动实现:
```python
class Vehicle:
def __init__(self, speed):
self.speed = speed
def move(self): # 父类的默认行为
print(f"This vehicle moves at {self.speed} km/h.")
class Car(Vehicle):
def move(self): # 子类Car重写move()
print("The car is driving on the road.")
class Bicycle(Vehicle):
def move(self): # 子类Bicycle也重写move()
print("The bicycle is cycling on the path.")
# 使用时
car = Car(60)
car.move() # 输出 "The car is driving on the road."
bicycle = Bicycle(25)
bicycle.move() # 输出 "The bicycle is cycling on the path."
```
通过这种方式,我们可以根据实例的具体类型(`Car`还是`Bicycle`)来调用不同的`move()`方法,体现了多态性。
阅读全文