方法重写(Method Overriding)是面向对象编程中的一个概念,允许子类重新定义父类的方法,以满足子类特有的需求。在Python中,如果子类中定义了一个与父类中名称、参数列表和返回类型都相同的方法,那么当通过子类对象调用该方法时,将执行子类中的方法,而不是父类中的方法。
关键点总结:
方法重写:子类重新定义父类的方法。
名称修饰:Python通过名称修饰避免子类意外覆盖父类方法。
访问级别:子类方法的访问级别不能低于父类相应方法的访问级别。
异常处理:子类抛出的异常不能超过父类相应方法抛出的异常。
示例代码:
class Parent:
def some_method(self):
print("Parent's method")
class Child(Parent):
def some_method(self):
print("Child's method")
child_obj = Child()
child_obj.some_method() 输出:Child's method
在这个例子中,`Child` 类重写了 `Parent` 类的 `some_method` 方法,因此当我们通过 `Child` 类的对象调用 `some_method` 方法时,会执行 `Child` 类中的版本