定义超类并通过继承定义子类,在子类中重写方法,写出代码
时间: 2023-12-21 12:03:48 浏览: 24
下面是一个简单的示例代码,定义了一个名为Animal的超类,并通过继承定义了子类Dog和Cat。在子类中重写了超类中的speak()方法。
```python
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
print("An animal speaks.")
class Dog(Animal):
def __init__(self, name):
super().__init__(name)
def speak(self):
print("Woof!")
class Cat(Animal):
def __init__(self, name):
super().__init__(name)
def speak(self):
print("Meow!")
```
在这个示例中,Animal是超类,它有一个名为speak()的方法。Dog和Cat分别是Animal的子类,在它们自己的构造函数中调用了超类的构造函数,并重写了speak()方法。
现在我们可以创建Dog和Cat的实例,并调用它们的speak()方法:
```python
dog = Dog("Fido")
dog.speak() # 输出 "Woof!"
cat = Cat("Mittens")
cat.speak() # 输出 "Meow!"
```