Package twisted :: Package python :: Module components :: Class Interface
[show private | hide private]
[frames | no frames]

Class Interface

Known Subclasses:
IConnector, ICollection, IService, IProtocolFactory, IConfigurator, IResource, IDomain, IConsumer, IClient, IGroup, IConversation, IAccount, IPerson, IChatUI, IGroupConversation, IReactorMulticast, IUDPTransport, IReactorPluggableResolver, IFileDescriptor, IReactorSSL, IProducer, IUDPConnectedTransport, ITransport, IDelayedCall, IResolverSimple, IReactorUNIX, IReactorCore, IServiceCollection, IReactorTCP, IReactorTime, IListeningPort, IReactorFDSet, IReactorUDP, IMulticastTransport, IReactorProcess, IReactorThreads, IMessage, ICommand, ICommandLog, IHeaderSaver, IModel, IWovenLivePage, IController, IView, INodeMutator, IWordsClient, IWordsPolicy, IAdder, IAdept, IMultiply, ITest4, ITest3, ITest2, ITest, IX, IFoo

Base class for interfaces.

Interfaces define and document an interface for a class. An interface class's name must begin with I, and all its methods should have no implementation code.

Objects that implement an interface should have an attribute __implements__, that should be either an Interface subclass or a tuple, or tuple of tuples, of such Interface classes.

A class whose instances implement an interface should list the interfaces its instances implement in a class-level __implements__.

For example:
   | class IAdder(Interface):
   |     'Objects implementing this interface can add objects.'
   |
   |     def add(self, a, b):
   |         'Add two objects together and return the result.'
   |
   | class Adder:
   |
   |     __implements__ = IAdder
   |
   |     def add(self, a, b):
   |         return a + b

Generated by Epydoc 1.2 prerelease on Wed Jan 29 06:28:35 2003 http://epydoc.sf.net