Publication:
Traits: Composing Classes from Behavioral Building Blocks

datacite.rightsrestricted
dc.contributor.authorSchärli, Nathanael
dc.date.accessioned2025-01-08T20:19:09Z
dc.date.available2025-01-08T20:19:09Z
dc.date.issued2005-02
dc.description.abstractInheritance is well-known and accepted as a fundamental mechanism for reuse in object-oriented languages. Unfortunately, the main variants —- single inheritance, multiple inheritance, and mixin inheritance —- all suffer from conceptual and practical problems related to software reuse and robustness with respect to changes. In a rst part of this thesis, we identify and illustrate these problems. To overcome these problems, we then present traits, a simple compositional model that extends single inheritance. A trait is essentially a (parameterized) set of methods; it serves as a behavioral building block for classes and is the primitive unit of code reuse. We develop a formal model of traits that establishes how traits can be composed to form other traits or classes, and we describe how we implemented traits in Squeak Smalltalk by bootstrapping a new language kernel. We present our experimental validation in which we apply traits to refactor parts of the Smalltalk kernel and library, and we develop a programming methodology around the usage of traits and the trait browser, the tool that we implemented to take full advantage of the availability of traits in the Squeak programming environment.
dc.description.numberOfPages128
dc.identifier.doi10.7892/boris.104766
dc.identifier.urihttps://boris-portal.unibe.ch/handle/20.500.12422/199420
dc.language.isoen
dc.relation.organizationPhilosophisch-naturwissenschaftliche Fakultät
dc.relation.organizationDCD5A442C2AFE17DE0405C82790C4DE2
dc.titleTraits: Composing Classes from Behavioral Building Blocks
dc.typethesis
dspace.entity.typePublication
dspace.file.typetext
oairecerif.identifier.urlhttp://scg.unibe.ch/archive/phd/schaerli-phd.pdf
unibe.contributor.rolecreator
unibe.date.licenseChanged2019-11-21 01:36:34
unibe.description.ispublishedpub
unibe.eprints.legacyId104766
unibe.relation.institutionUniversity of Bern
unibe.subtype.thesisdissertation

Files

Original bundle
Now showing 1 - 1 of 1
Name:
schaerli-phd.pdf
Size:
1.59 MB
Format:
Adobe Portable Document Format
File Type:
text
License:
publisher
Content:
published

Collections