Package harold :: Package prog :: Package interface :: Module interface_class :: Class InterfaceClass
[show private | hide private]
[frames | no frames]

Type InterfaceClass

    object --+        
             |        
          type --+    
                 |    
DefinitionsTracker --+
                     |
                    InterfaceClass

Known Subclasses:
HaroldClass

A class with contractual interface.

The following python code illustrate the use of InterfaceClass:
 class X (object):
     __metaclass__ = InterfaceClass
     p_ro = property (g)
     p_rw = property (g,s)
     def m (self, x, y=1, z=1)

 class O1 (X):
     p_ro = property (None,s) 
     ## illegal: p_ro should be readable

 class O2 (X):
     p_ro = property (g,s)
     ## legal: p_ro is readable

 class O3 (X):
     p_rw = property (g)
     ## illegal: p_rw should be settable

 class O4 (X):
     def m (self)
     ## illegal: m should accept 2,3 or 4 parameters

 class O5 (X):
     def m (self, a, b, c)
     ## illegal: m should accept 2 or 3 parameters

 class O6 (X):
     def m (self, a)
     ## illegal: m should accept 3 or 4 parameters

 class O7 (X):
     def m (self, *args, **kw)
     ## legal: m does accept 2, 3 or 4 parameters

Method Summary
  __init__(cls, cls_name, direct_superclasses, direct_members)
    Inherited from type
  __call__(x, ...)
x.__call__(...) <==> x(...)
  __cmp__(x, y)
x.__cmp__(y) <==> cmp(x,y)
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __hash__(x)
x.__hash__() <==> hash(x)
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T
  __repr__(x)
x.__repr__() <==> repr(x)
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value
list of immediate subclasses __subclasses__()
__subclasses__() -> list of immediate subclasses
list mro()
return a type's method resolution order
    Inherited from object
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __str__(x)
x.__str__() <==> str(x)

Class Variable Summary
    Inherited from type
tuple __bases__ = (<type 'object'>,)
int __basicsize__ = 420                                                                   
int __dictoffset__ = 132                                                                   
int __flags__ = 21995                                                                 
int __itemsize__ = 20                                                                    
tuple __mro__ = (<type 'type'>, <type 'object'>)
str __name__ = 'type'
int __weakrefoffset__ = 184                                                                   

Generated by Epydoc 2.1 on Mon Dec 18 15:25:58 2006 http://epydoc.sf.net