python 重写父类方法(override)

重写父类方法(override)

当父类方法不满足子类需求时,我们可以重写父类的方法,
如果重写的方法里面还需要调用父类里的方法时,我们可以
通过在重写的方法里面用super()再次调用父类的方法就可以了。

调用父类的方法可以通过【super().父类方法】或【父类名.方法(self)】来实现

注:【父类名.方法(self)】是python2.x里的格式,python3里也可以用,但是子类不能调自己,这样会出现递归并死循环.

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Python中,重写Override父类方法允许子提供特定于自身的实现,并覆盖了其基础的行为。这是面向对象编程(OOP)的重要特性之一,有助于代码复用及提高程序灵活性。 ### 语法: 当您需要在子重写父类方法时,只需在子中定义一个新的函数,其名称、返回值型和参数列表应完全匹配父类中的相应方法。这确保了函数的同名、同型和同参数数量。 例如: ```python class ParentClass: def display(self): print("This is the parent class method") class ChildClass(ParentClass): def display(self): # 这里重写父类的display方法 print("This is the child class method") ``` 在这个例子中,`ChildClass`继承自`ParentClass`并重写了`display`方法。 ### 参数处理: 在重写父类方法时,您可以修改对原始参数的处理逻辑或增加新的功能。参数可以保持不变、改变数量或添加默认值等。 ### 示例: ```python class ParentClass: def process_data(self, data): return "Processed data by ParentClass" class ChildClass(ParentClass): def process_data(self, data): result = super().process_data(data) + " - Additional processing" return result obj = ChildClass() print(obj.process_data('Sample Data')) # 输出:"Processed data by ParentClass - Additional processing" ``` 这里,`ChildClass`不仅重写了`process_data`方法,而且还在返回结果前进行了额外的操作。 ### 使用场景: - 当您希望子基于父类的基本实现上做出一些定制化操作时。 - 父类方法不够适用于所有子,需要针对特定需求提供更精确的实现时。 - 提高代码的复用性和可维护性,减少重复代码量。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值