[Tutor] Making a better list

dman dsh8290@rit.edu
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:
|     http://www.python.org/doc/lib/module-UserList.html

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