> If you want control over the interface, then you > would want to contain (aka delegate)*, not > inherit. That's as true in Ruby as it is in Java > or C++. Thus, I would tend to delegate when > creating a specific class like People, but would > inherit when creating a generic improvement on a > built-in class, like "StreamableHash". > Kevin, thanks for your comments. This is very much in line with how I've been thinking. For me, as someone coming from Java mainly (though, I've had a considerable amount of Perl scripting experience), the biggest challenge in deciding how to approach Ruby design/programming is in the lack of strong typing. Not that it's a problem, but it's the area that most strongly changes the way I need to think about a program. I appreciate the feedback. __________________________________________________ Do You Yahoo!? Yahoo! Photos - Share your holiday photos online! http://photos.yahoo.com/