[Tutor] Making a better list
Sun, 9 Dec 2001 08:11:54 -0500
On Sat, Dec 08, 2001 at 09:57:30PM -0800, Danny Yoo wrote:
| On Sat, 8 Dec 2001, Scott wrote:
| > In Python, if I want to make a list-like class (a specialized list of
| > x's, say), is it generally better to create a class with a member
| > list, or derive a class from the built-in 'list' type (I don't know
| > how to do that yet.)
| Hi Scott. Yes, it's very possible to derive from the UserList class:
Or, if you have 2.2, you can subclass the built-in 'list'.
class MyList( list ) :
I think a good rule-of-thumb for deciding whether to use inheritance
or composition is :
o how much is your new type supposed to behave like the existing
o how much of the existing functionality do you want to keep
If you only want to change a little bit of the functionality,
inheritance would be easier, but composition is still easy enough with
the __getattr__ and __setattr__ methods.
Contrary to popular belief, Unix is user friendly.
It just happens to be selective about who it makes friends with.
-- Dave Parnas