[EMAIL PROTECTED] wrote: > hi > i come from a non OO environment. now i am learning about classes. can > i ask, in JAva, there are things like interface. eg > public interface someinterface { > public somemethod (); > .... > ... > } > > In python , how to implement interface like the above? is it just > define a class??
Java interfaces are a workaround the combination of static typing (limiting polymorphism) and lack of multiple inheritance. Since Python is dynamically typed (polymorphism does not depend on type), there's no such need: class Foo(object): def doThis(self): print "in Foo.doThis" class Bar(object): def doThis(self): print "in Bar.doThis" def doIt(obj): obj.doThis() f = Foo() b = Bar() doIt(f) doIt(b) A you can see, doIt() works for any object having a doThis() method. No need for inheritance or interface here. Note that we do have something like interfaces (in some third-part librairies), but with a somewhat different (and much more powerful) usage: http://peak.telecommunity.com/protocol_ref/ref.html But if you're new to OO, this may not be the best starting point !-) -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list