python 方法重写
时间: 2023-08-16 10:15:49 浏览: 157
Python反射和内置方法重写操作详解
方法重写(Method Overriding)是面向对象编程中的一个概念,它允许子类重新定义父类中已有的方法。当子类拥有与父类同名的方法时,子类对象调用该方法时将执行子类中的方法而不是父类中的方法。
在 Python 中,方法重写可以通过在子类中定义与父类同名的方法来实现。当子类对象调用该方法时,Python 解释器会优先执行子类中的方法。如果子类中没有定义与父类同名的方法,那么子类对象将调用继承自父类的方法。
下面是一个简单的示例代码:
```python
class Parent:
def my_method(self):
print("Parent's method")
class Child(Parent):
def my_method(self):
print("Child's method")
obj = Child()
obj.my_method() # 输出:Child's method
```
在上面的示例中,`Parent` 类定义了一个名为 `my_method` 的方法,而 `Child` 类继承了 `Parent` 类并重写了 `my_method` 方法。当 `Child` 类的对象 `obj` 调用 `my_method` 方法时,将执行子类 `Child` 中的方法,输出结果为 "Child's method"。
需要注意的是,子类重写父类方法时,方法的签名(即参数列表)必须保持一致。否则,Python 将认为子类定义了一个新的方法而不是对父类方法的重写。
阅读全文