我在一个Python类中有一个函数,它将接口添加到列表中。
def RegisterAsListener(self, inListener):
self.__TransitListeners.append(inListener)
这很好,因为一个类只需要继承我的接口,获取这个对象,并且注册自己以接收所有更新。
class ITransit():
def TransitUpdate(self, data):
raise NotImplementedError("You must define this function.")
(假设我正确地创建了一个接口)
由于我不是这个项目中唯一的人,我不希望有人使用不正确的数据类型调用RegisterAsListener函数。我可以在注册函数中放入代码来检查类型,但如果编译器在程序员试图插入不正确的数据类型时大声抱怨,那么这将更加容易。
def RegisterAsListener(self, IListener inListener):
self.__TransitListeners.append(inListener)
有没有方法可以做到这一点?
abc
模块来定义对象应该实现什么。 - Martijn Pieters