是否可以在python和接口的各种实现中创建类接口.
示例:我想为pop3访问(以及所有方法等)创建一个类.如果我使用商业组件,我想包装它以遵守合同.
在将来,如果我想使用我自己的另一个组件或代码,我希望能够交换出来并且没有紧密耦合的东西.
可能?我是python的新手.
对于来自强类型语言背景的人来说,Python不需要类接口.您可以使用基类来模拟它.
class BaseAccess:
def open(arg):
raise NotImplementedError()
class Pop3Access(BaseAccess):
def open(arg):
...
class AlternateAccess(BaseAccess):
def open(arg):
...
Run Code Online (Sandbox Code Playgroud)
但是,您可以轻松编写相同的代码而无需使用BaseAccess.强类型语言需要在编译期间进行类型检查的接口.对于Python,这不是必需的,因为在运行时动态查找所有内容.Google为其哲学打造"鸭子打字".
Python 2.6中添加了一个Abstract Base Classes模块.但我还没有用过它.
| 归档时间: |
|
| 查看次数: |
911 次 |
| 最近记录: |