多态从代码的角度理解的话,就是子类的方法覆盖了基类的同名方法,即重定义;从实际场景理解的话,就是同一种说法有着不同的用途。
为方便理解,假设这么一个场景:一个父亲有两个孩子,但这三个人都会挣钱,但挣的钱不一样多,那么该如何去实现这种功能呢?
首先看类的定义:
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的果壳
喜欢的朋友可以去关注(关注后有福利哦~),记得先给本文点赞或者点喜欢呐!