Am I missing something with Python not having interfaces?

Mike Driscoll kyosohma at gmail.com
Tue May 6 10:07:01 EDT 2008


On May 6, 8:44 am, jmDesktop <needin4mat... at gmail.com> wrote:
> Studying OOP and noticed that Python does not have Interfaces.  Is
> that correct?  Is my schooling for nought on these OOP concepts if I
> use Python.  Am I losing something if I don't use the "typical" oop
> constructs found in other languages (Java, C# come to mind.)  I'm
> afraid that if I never use them I'll lose them and when I need them
> for something beside Python, I'll be lost.  Thank you.

In my school, we didn't even discuss the concept of interfaces (except
for CLI and GUI, that is). So I looked it up. I assume you are
referring to something like what's found here:

http://java.sun.com/docs/books/tutorial/java/concepts/interface.html

If so, then it looks like an Interface is a generic class with method
stubs. You can do that with Python just as easily by creating empty
methods with just the "pass" keyword. It also reminds me of
Decorators...so you might want to look at those.

Since it's just a construct to implement polymorphism, I don't think
you'll lose anything. However, Python does not require you to re-
implement every method of the class it is inheriting from. You can
just override those that you want and leave the others alone.

Hopefully I understand this correctly...otherwise, just ignore my
babbling and hand waving.

Mike



More information about the Python-list mailing list