流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

 

流畅的python第十一章接口学习记录

 鸭子协议(忽略对象真正类型,转而关注对象有没有实现所需的方法,签名和语义)

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

标准库中的抽象基类

collections.abc模块中的抽象基类

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

抽象方法是抽象基类中用来强制子类必须实现的方法,如果子类不实现该方法,则会报错

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

上述例子中的load,pick属于抽象方法,Tombola的子类必须实现这两个方法,否则报错

流畅的python第十一章接口学习记录

实际上,抽象基类的定义需要对python有深入的了解,一般来说只需要能够理解看懂源码即可。

抽象基类的句法详解

流畅的python第十一章接口学习记录

 

 流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

流畅的python第十一章接口学习记录

 

相关文章: