我来自 Java 背景,现在正在开发 django 应用程序。如果我的方向错误,需要您的意见。
我正在尝试在我的 Django 应用程序中实现 zope.interface.Interface 并尝试实现 Java 中的接口,但如果实现者类没有提供接口中所有方法的定义,它不会引发任何错误。
这是我的示例实现。
import zope.interface
class MyInterface(zope.interface.Interface):
x = zope.interface.Attribute("foo")
def method1(self, x):
pass
def method2(self):
pass
@zope.interface.implementer(MyInterface)
class MyClass:
def method1(self, x):
return x**2
def method2(self):
return "foo"
@zope.interface.implementer(MyInterface)
class MyClass2:
def method1(self, x):
return x**2
print(list(zope.interface.implementedBy(MyClass)))
print(list(zope.interface.implementedBy(MyClass2)))
c = MyClass()
print(c.method1(5))
print(c.method2())
d = MyClass2()
print(d.method1(5))
请帮助我找出我做错了什么以及您的友好指导。
谢谢,