Discuss / Python / 打卡第五天

打卡第五天

Topic source

皆由唧唧

#1 Created at ... [Delete] [Delete and Lock User]

关于继承和多态,不知道学的是不是不够深入,感觉很简单,子类继承父类后,拥有父类全部功能,子类可以定义新功能,也可以重新定义继承的父类功能,重新定义后,相当于覆盖,当然以新的为准。

关于这个例子

def run_twice(animal):
    animal.run()
    animal.run()

这里是方法调用类,animal 只是一个形参,这个参数有两个特征,一是类,二是要有 run() 方法。
所以只要有 run() 方法的类都能够被执行,这个是必然的啊,完全没 get 到鸭子类型的精髓!

皆由唧唧

#2 Created at ... [Delete] [Delete and Lock User]

楼下的回复,有一点点理解!

鸭子类型:

现在把类Animal当做鸭子,把调用run函数当做鸭子的走路姿势

只要这个类可以调用run函数,就把它看做鸭子

也就是说走路姿势像鸭子,你就是鸭子

念念Bber

#3 Created at ... [Delete] [Delete and Lock User]

到位


  • 1

Reply