Multitudes of Objects: First Implementation and Case Study for Java
Författare
Summary, in English
In object-oriented programs, the relationship of an object to
many objects is usually implemented using indirection through a collection.
This is in contrast to a relationship to one object, which is usually
implemented directly. However, using collections for relationships to many
objects does not only mean that accessing the related objects always requires
accessing the collection first, it also presents a lurking maintenance
problem that manifests itself when a relationship needs to be changed from
to-one to to-many or vice versa. Continuing our prior work on fixing this
problem, we show how we have extended the Java 7 programming language
with multiplicities, that is, with expressions that evaluate to a number of
objects not wrapped in a container, and report on the experience we have
gathered using these multiplicities in a case study.
many objects is usually implemented using indirection through a collection.
This is in contrast to a relationship to one object, which is usually
implemented directly. However, using collections for relationships to many
objects does not only mean that accessing the related objects always requires
accessing the collection first, it also presents a lurking maintenance
problem that manifests itself when a relationship needs to be changed from
to-one to to-many or vice versa. Continuing our prior work on fixing this
problem, we show how we have extended the Java 7 programming language
with multiplicities, that is, with expressions that evaluate to a number of
objects not wrapped in a container, and report on the experience we have
gathered using these multiplicities in a case study.
Avdelning/ar
Publiceringsår
2014
Språk
Engelska
Sidor
1-33
Publikation/Tidskrift/Serie
Journal of Object Technology
Volym
13
Issue
5
Fulltext
- Available as PDF - 411 kB
- Download statistics
Dokumenttyp
Artikel i tidskrift
Förlag
ETH, Zürich
Ämne
- Computer Science
Nyckelord
- Java
- Multiplicities
- Compiler Design
- Language Design
- Programming Language Design
Status
Published
Projekt
- Contributions to Declarative Implementation of Static Program Analysis
- ELLIIT LU P05: Scalable Language Tools for Cyber-Physical Systems
Forskningsgrupp
- LUCAS
ISBN/ISSN/Övrigt
- ISSN: 1660-1769