Q? Calling nearest inherited method
Guido van Rossum
guido at python.org
Thu May 18 11:09:25 EDT 2000
More information about the Python-list mailing list
Thu May 18 11:09:25 EDT 2000
- Previous message (by thread): Q? Calling nearest inherited method
- Next message (by thread): Q? Calling nearest inherited method
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Laurent POINTAL wrote: > > On Wed, 17 May 2000 18:37:00 GMT, Guido van Rossum <guido at python.org> > wrote: > > >: There's a better way. (I believe Jeremy Hylton first suggested this; he saw > >: it as an idiom in another language:) > >: > >: class C(B): > >: super_doit = B.doit > >: def doit(self, arg): > >: self.super_doit(arg) > >: > >: This avoids the need to explicitly pass self. > > Not sure its really better... > 1) The lowest problem: you have to define it for each function in each > class in the hierarchy to have a clean model. Yes, but this adds to the documentation of the class. > 2) The biggest problem, it can go into infinite recursion... [details omitted] Argh! Good catch. My suggestion: use a naming convention where it's called B_doit instead of super_doit. But this *does* make it less elegant, and you now need to know the base class name... -- --Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message (by thread): Q? Calling nearest inherited method
- Next message (by thread): Q? Calling nearest inherited method
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list