| View previous topic :: View next topic |
| Author |
Message |
Lusis Backwood JR
Joined: 26 May 2006 Posts: 87 Location: United States
|
| Hm, is there some way (hackish or otherwise) that i can build an old-style class from a new-style class that either inherits or somehow "gets" all of the functionality of the new-style class? |
| |
|
|
|
|
Mupolan
Joined: 30 May 2006 Posts: 101
|
Lusis Backwood JR, why would you want to?
you can inherit from the new-style class, but you'll just get a new new-style class; you can't get an old-style class by inheriting from a new-style class. |
| |
|
|
Lusis Backwood JR
Joined: 26 May 2006 Posts: 87 Location: United States
|
Right i know that
Mupolan, because i'm working with an existing system that requires old-style classes and fixing it isn't an option  |
| |
|
|
Mupolan
Joined: 30 May 2006 Posts: 101
|
Rock, sounds like an immensely stupid existing system. the only thing you could do is write an old-style proxy class, but it's probably very fragile.
(because the new-style class may actually rely on the differences in semantics that new-style classes bring, so a proxy can't always act the same way.) |
| |
|
|
Lusis Backwood JR
Joined: 26 May 2006 Posts: 87 Location: United States
|
| hm... right ... actually i have complete control over the new-style class so i could ensure it would work via proxy |
| |
|
|
Mupolan
Joined: 30 May 2006 Posts: 101
|
| Lusis Backwood JR, might as well make it an old-style class, then :) |
| |
|
|
Lusis Backwood JR
Joined: 26 May 2006 Posts: 87 Location: United States
|
well, i don't have *that* much control  |
| |
|
|
Mupolan
Joined: 30 May 2006 Posts: 101
|
| Lusis Backwood JR, that's what I mean. if you don't have that much control, you may not have enough control to make sure it works right. But you can try ;) |
| |
|
|
Lusis Backwood JR
Joined: 26 May 2006 Posts: 87 Location: United States
|
| So by proxy how would you do that? simply have my new old-style class have some_method = NewStyleClass.some_method ? |
| |
|
|
Mupolan
Joined: 30 May 2006 Posts: 101
|
Lusis Backwood JR, no. it would be 'def some_method(self, *args, **kwargs): return self._realobj.some_method(*args, **kwargs)'
Possibly through __getattr__ hacks. |
| |
|
|
| Page 1 of 2 |
Goto page 1, 2 Next |
|