python面向对象中的super
时间: 2023-10-18 22:04:52 浏览: 84
在 Python 中,super() 函数用于调用父类(超类)的一个方法。使用 super() 的主要目的是避免直接使用父类的名称来调用父类的方法,这样可以使代码更加灵活和易于维护。
具体来说,当我们需要调用父类的方法时,使用 super() 可以很方便地实现。例如:
```python
class Parent:
def __init__(self, name):
self.name = name
def say_hello(self):
print("Hello, " + self.name)
class Child(Parent):
def __init__(self, name, age):
super().__init__(name)
self.age = age
def say_hello(self):
super().say_hello()
print("I am " + str(self.age) + " years old.")
c = Child("Tom", 10)
c.say_hello()
```
在上面的代码中,我们定义了一个 Parent 类和一个 Child 类,Child 类继承自 Parent 类。在 Child 类的构造函数中,我们使用 super() 函数调用了父类的构造函数,以便初始化父类的属性。在 Child 类的 say_hello 方法中,我们使用 super() 函数调用了父类的 say_hello 方法,以便输出父类的问候语。然后,我们再输出 Child 类自己的问候语。
总之,super() 函数可以让我们更加方便地调用父类的方法,从而提高代码的灵活性和可维护性。
阅读全文