Traits (Was [Newbies] Design best practice : put state-independent methodsonclass side?)

Rob Rothwell r.j.rothwell at
Wed Mar 26 01:55:03 UTC 2008

On Tue, Mar 25, 2008 at 8:02 PM, Matthew Fulmer <tapplek at> wrote:

> No. Traits are units of behavior that can be shared among
> objects.

So...if in a general sense a trait has no knowledge of the object it will be
attached to, is it common practice to create traits to be used only by a
specific group of objects so that some common behaviour can be assumed?

Or at that point are you just creating a subclass and should just go ahead
and duplicate the methods?

As a trivial example, say you have Dog and Rock, and you want to make a Pet
out of both of them even though they both have different base classes (like
Animal or Mineral).  Furthermore, Pet>>careInstructions needs to use "self
foodRequirements," which you may provide for a Dog or a Rock, but not for
all objects.

In other words, would you expect to see PetTraits that are meant to be used
with Dog or Rock subclasses only?


-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Beginners mailing list