Pure trait-based programming on the Java platform

  • Authors:
  • Lorenzo Bettini;Ferruccio Damiani

  • Affiliations:
  • University of Torino, Italy;University of Torino, Italy

  • Venue:
  • Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Traits provide a mechanism for fine-grained code reuse to overcome the limitations of class-based inheritance. A trait is a set of methods which is completely independent from any class hierarchy and can be flexibly used to build other traits or classes by means of a suite of composition operations. We present: (i) a formulation of traits which aims to achieve complete compatibility and interoperability with the Java platform without reducing the flexibility of traits, and (ii) an integration with Eclipse which aims to support an incremental adoption of traits in existing Java projects. Indeed, the proposed trait language can coexist with Java code. Single parts of a project can be refactored to use traits, without requiring a complete rewrite of the whole existing code-base.