Discuss / Python / 纠正自己的一个错误。

纠正自己的一个错误。

Topic source

纠正自己的错误,鸭子类型工作原理应该也属于多态,只是没有继承而已。 但是这样的风险是可能不具备某种方法从而产生异常,比如楼下中的例子:pig使用了Student对象专用的函数kind(),如果代码多了搞混了,可能会把pig实例当成学生类(Student)的子类。这样pig想调用父类Student的方法时就会报错,因为没有继承。

鸭子类型感觉有好有坏,好处是简单粗暴,直接穿别人的衣服就行。坏处是别人的衣服不一定合身,穿一两次没什么问题,穿多了可能连自己是谁都搞不清楚了。使用时机和技巧因人而异吧!

个人的一点拙见,谢谢!

畋恬天

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

很认真,thanks~


  • 1

Reply