good chemistry is complicated, and a little bit messy -LW |
|
PerlMonks |
Re^5: Informal Poll: why aren't you using traits?by stvn (Monsignor) |
on Nov 19, 2005 at 14:02 UTC ( [id://510088]=note: print w/replies, xml ) | Need Help?? |
"How are roles/traits different to interfaces?" An interface (in the Java sense) has no implementation, it is only a "signature" which the consumer of the interface promises to conform to. Roles/Traits are allowed to have implementations. The methods in a trait are "flattened" into the consuming class. This is not all that different from just "exporting" methods from the trait's namespace into the classes namespace, except that there are a set of "rules" and "guidelines" set out in the Traits papers (see the SEE ALSO section of Class::Trait for some good links). These rules and guidelines actually make it so that Trait ordering is irrelevant, which right there removes a lot of the issues normally associated with MI and mix-ins.
-stvn
In Section
Meditations
|
|