Guido van Rossum, the creator of Python writes about Interfaces and Abstract Base Classes.
Here are some key points written by Guido :
- Â Abstract Base Classes don’t require more syntax.
- Â Zope and Twisted can’t live without interfaces, and they have created their own implementation.
- Â The interfaces and type checking are interconnected.
- Â Interfaces make much more sense if you can also declare the argument types of the methods.
- Â Phillip Eby’s proposal ofÂ an interface-free alternative is too complex to be adopted asÂ standardÂ Python mechanism.
- Â Ping suggests that there is a need to specify some semantics in interfaces.
- Â Python has a strong tradition that subclasses may redefine methods with a different signature.
- Â Its not decided that Python 3.0 will have interfaces,Â will look at some of the standard interfaces the language would provide for various common protocols like sequence, mapping and file.
- Â The File Interface : they don’t require genericity to fully specify the interface.
- Â The Sequence Interface : they are both useful and easy to implement, even if there are some thorny issues left.
>> Interfaces or Abstract Base Classes?