python继承重写
时间: 2023-11-08 22:01:34 浏览: 92
继承重写是面向对象编程中的一个重要概念,它允许子类覆盖父类的方法来实现自己的功能。在Python中,可以通过重写父类方法来实现继承重写。
当子类定义了一个与父类同名的方法时,子类的方法会覆盖父类的方法。子类可以通过super关键字调用父类的方法,并在此基础上添加自己的额外功能。super关键字的语法是`super(子类, self).__init__(参数)`。
举个例子,假设我们有一个父类`Base_father`和一个子类`Base_son`,父类有一个初始化方法`__init__`。如果子类重写了`__init__`方法,那么子类实例化时将不会调用父类已经定义的`__init__`方法。如果想要在子类的`__init__`方法中调用父类的`__init__`方法,可以使用`super(Base_son, self).__init__(name, age)`。
下面是一个示例代码:
```python
# 创建一个父类
class Base_father:
def __init__(self, name, age):
self.name = name
self.age = age
print('调用了父类的name')
# 创建子类
class Base_son(Base_father):
def __init__(self, name, age):
# 利用super调用父类的构造函数
super(Base_son, self).__init__(name, age)
print('-'*50)
self.name = name
self.age = age
print('调用了我自己定义的方法!!')
def getname(self):
print(f'姓名:{self.name}')
print(f'年龄:{self.age}')
return '运行完毕!!'
num1 = Base_son('suliang', 21)
print(num1.getname())
```
阅读全文