def classImplements(cls, *interfaces):
 spec = implementedBy(cls)
 spec.declared += tuple(_normalizeargs(interfaces))
 bases = []
 seen = {}
 for b in spec.declared:
  if (b not in seen):
   seen[b] = 1
   bases.append(b)
 if (spec.inherit is not None):
  for c in spec.inherit.__bases__:
   b = implementedBy(c)
   if (b not in seen):
    seen[b] = 1
    bases.append(b)
 spec.__bases__ = tuple(bases)

def classImplements ( cls , * interfaces ) : spec = implementedBy ( cls ) spec . declared += tuple ( _normalizeargs ( interfaces ) ) bases = [ ] seen = { } for b in spec . declared : if ( b not in seen ) : seen [ b ] = 1 bases . append ( b ) if ( spec . inherit is not None ) : for c in spec . inherit . __bases__ : b = implementedBy ( c ) if ( b not in seen ) : seen [ b ] = 1 bases . append ( b ) spec . __bases__ = tuple ( bases )
declare additional interfaces implemented for instances of a class the arguments after the class are one or more interfaces or interface specifications .