python面向对象多态_Python面向对象教程之多态

多态从代码的角度理解的话,就是子类的方法覆盖了基类的同名方法,即重定义;从实际场景理解的话,就是同一种说法有着不同的用途。

为方便理解,假设这么一个场景:一个父亲有两个孩子,但这三个人都会挣钱,但挣的钱不一样多,那么该如何去实现这种功能呢?

首先看类的定义:

class Father(): # 基类的定义

def earn_money(self):

return 15000 # 挣15000

class Son1(Father): # 第一个子类的定义

def earn_money(self):

return 7000 # 挣7000

class Son2(Father): # 第二个子类的定义

def earn_money(self):

return 6000 # 挣6000

接着看结果:

# 首先分别实例化三个类

dashuai = Father()

xiaoming = Son1()

xiaohua = Son2()

# 打印相应的结果

print(dashuai.earn_money()) # 返回15000

print(xiaoming.earn_money()) # 返回7000

print(xiaohua.earn_money()) # 返回6000

很显然,由于三个人都会挣钱,所以在代码中的体现是都有earn_money这个方法的。但是,三个类的对象调用的方法返回了三个不同的值,很显然子类的方法“重写”了基类的方法,多态这个特性也因此得以体现。

显而易见的是,多态使得代码更为灵活,因为子类可以覆盖基类的方法;当然,也使得代码容易拓展。

好了,今天的分享就到这了。如果有需要对Python其他知识点进行讲解的话,可以在后台留言给我~

本文转自微信公众号:superdiao的果壳

喜欢的朋友可以去关注(关注后有福利哦~),记得先给本文点赞或者点喜欢呐!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值