spacepaste

  1.  
  2. import abc
  3. from zope.interface import Interface, classImplements
  4. class AFoo(metaclass=abc.ABCMeta):
  5. pass
  6. class IFoo(Interface):
  7. pass
  8. classImplements(AFoo, IFoo)
  9. class Foo(AFoo):
  10. pass
  11. class Bar:
  12. pass
  13. AFoo.register(Bar)
  14. print('Foo extends AFoo', issubclass(Foo, AFoo))
  15. print('Foo implements IFoo', IFoo.implementedBy(Foo))
  16. print('Bar extends AFoo', issubclass(Bar, AFoo))
  17. print('Bar implements IFoo', IFoo.implementedBy(Bar))
  18.