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