这次简单介绍下 鸭子类型的概念。
当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。
鸭子类型关注点在对象的行为,而不是类型。在 Python 和 Go 中都可以实现鸭子类型。
示例代码如下:
class Duck:
def __init__(self, name):
self.name = name
def quack(self):
print("gua gua")
class Man:
def __init__(self, name):
self.name = name
def quack(self):
print("女王大人")
def do_quack(ducker):
ducker.quack()
if __name__ == '__main__':
d = Duck('duck')
m = Man('man')
do_quack(d)
do_quack(m)
作者:PegasusWang
链接:https://zhuanlan.zhihu.com/p/59299729
来源:知乎