Als ik zo een beetje rondlees (zonder er dus echt diep in duiken) dan krijg ik het gevoel dat traits echt alleen interessant zijn om code op 1 plek te krijgen die je op meerdere plekken nodig hebt. Op zich zou dit dus wel een juiste omstandigheid zijn. Tegelijkertijd krijg ik alleen ook het gevoel dat traits een probleem oplossen dat je alleen krijgt door een niet optimaal design. Dubbele code kan je, denk ik, beter proberen te vermijden door je klassen structuur anders te ontwerpen. Maar inderdaad, de waarheid zal ongetwijfeld genuanceerder zijn en in een halfuurtje rondsnuffelen kom ik natuurlijk ook niet alles te weten over traits.
Hank, ik hoop dat geen 1 OO taal multiple inhertiance toestaan. Het is naar mijn mening iets wat een verkeerd design aangeeft, of in elk geval geen optimaal design. Het boek waar Erwin naar refereert heeft een paar handige OO principes, eentje daarvan is "Verkies compositie boven overerving". Ik denk dat dit zo'n geval is waar je dit principe moet toepassen, je hebt veel te snel de neiging om overerving te gebruiken terwijl je weet dat het z'n beperkingen heeft en uitbereiding tegenhoudt.
Erwin & Ward, ik heb jullie hele discussie niet volledig gelezen, maar naar mijn mening horen traits niet thuis in de OO klassen. Traits zijn mooi in de "niet-OO klassen", zoals een Controller of Command class.