| Home | Trees | Index | Help |
|
|---|
| Package harold :: Package prog :: Package interface :: Module interface_class :: Class InterfaceClass |
|
object --+
|
type --+
|
DefinitionsTracker --+
|
InterfaceClass
HaroldClassA class with contractual interface.
The following python code illustrate the use ofInterfaceClass:
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 | |
x.__call__(...) <==> x(...) | |
x.__cmp__(y) <==> cmp(x,y) | |
x.__delattr__('name') <==> del x.name | |
x.__getattribute__('name') <==> x.name | |
x.__hash__() <==> hash(x) | |
T.__new__(S, ...) -> a new object with type S, a subtype of T | |
x.__repr__() <==> repr(x) | |
x.__setattr__('name', value) <==> x.name = value | |
| list of immediate subclasses |
__subclasses__() -> list of immediate subclasses |
| list |
return a type's method resolution order |
| Inherited from object | |
helper for pickle | |
helper for pickle | |
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 |
| Home | Trees | Index | Help |
|
|---|
| Generated by Epydoc 2.1 on Mon Dec 18 15:25:58 2006 | http://epydoc.sf.net |