@techreport{Nier05g, title = {{Adding Traits to (Statically Typed) Languages}}, address = {Universit\"at Bern, Switzerland}, author = {Oscar Nierstrasz and St\'ephane Ducasse and Stefan Reichhart and Nathanael Sch\"arli}, institution = {Institut f\"ur Informatik}, month = {December}, number = {IAM-05-006}, type = {Technical Report}, url = {http://www.iam.unibe.ch/~scg/Archive/Papers/Nier05gTraitsCSharp.pdf}, year = {2005}, biburl = {http://www.bibsonomy.org/bibtex/252f8654e561ff6742fec3e120902d2c0/gron}, description = {Traits}, abstract = { Traits offer a fine-grained mechanism for composing classes in object-oriented languages from reusable components, while avoiding the fragility problems introduced by multiple inheritance and mixins. Although traits were developed in the context of dynamically typed languages, they would also offer clear benefits for statically typed languages like Java and C\#. This report summarizes the issues raised when integrating traits into such languages. We examine traits in the context of the statically typed languages FeatherweightJava, C\# and C++. }, file = {Nier05gTraitsCSharp.pdf:Traits\\Nier05gTraitsCSharp.pdf:PDF}, cvs = {TraitsCSharp}, keywords = {SDSeminar Traits } }