所以我在静态领域花费了大量时间后,开始使用 Python 进行项目。我见过一些制作“接口(interface)”的项目,它们实际上只是没有任何实现的类。以前,我会 mock 这个想法并忽略这些项目的那一部分。但现在,我开始接受这个想法了。
我们很清楚,Python 中的接口(interface)看起来像这样:
class ISomething(object):
def some_method():
pass
def some_other_method(some_argument):
pass
请注意,您没有将 self 传递给任何方法,因此需要重写该方法才能被调用。我认为这是一种很好的文档和完整性测试形式。
那么这里的每个人对这个想法有什么看法?我是否被我做过的所有 C# 编程洗脑了,还是这是个好主意?
最佳答案
我不确定这有什么意义。接口(interface)(无论如何都是这种形式)主要是为了解决缺乏多重继承的问题。但是 Python 有 MI,那为什么不直接做一个抽象类呢?
class Something(object):
def some_method(self):
raise NotImplementedError()
def some_other_method(self, some_argument):
raise NotImplementedError()
关于python - Python中的"Interfaces": Yea or Nay?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/552058/