License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2016.13
URN: urn:nbn:de:0030-drops-61077
URL: https://drops.dagstuhl.de/opus/volltexte/2016/6107/
Go to the corresponding LIPIcs Volume Portal


Jones, Timothy ; Homer, Michael ; Noble, James ; Bruce, Kim

Object Inheritance Without Classes

pdf-format:
LIPIcs-ECOOP-2016-13.pdf (0.6 MB)


Abstract

Which comes first: the object or the class? Language designers enjoy
the conceptual simplicity of object-based languages (such as Emerald
or Self) while many programmers prefer the pragmatic utility of
classical inheritance (as in Simula and Java). Programmers in
object-based languages have a tendency to build libraries to support
traditional inheritance, and language implementations are often
contorted to the same end. In this paper, we revisit the relationship
between classes and objects. We model various kinds of inheritance in
the context of an object-oriented language whose objects are not
defined by classes, and explain why class inheritance and
initialisation cannot be easily modelled purely by delegation.

BibTeX - Entry

@InProceedings{jones_et_al:LIPIcs:2016:6107,
  author =	{Timothy Jones and Michael Homer and James Noble and Kim Bruce},
  title =	{{Object Inheritance Without Classes}},
  booktitle =	{30th European Conference on Object-Oriented Programming (ECOOP 2016)},
  pages =	{13:1--13:26},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-014-9},
  ISSN =	{1868-8969},
  year =	{2016},
  volume =	{56},
  editor =	{Shriram Krishnamurthi and Benjamin S. Lerner},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2016/6107},
  URN =		{urn:nbn:de:0030-drops-61077},
  doi =		{10.4230/LIPIcs.ECOOP.2016.13},
  annote =	{Keywords: Inheritance, Objects, Classes, Operational semantics}
}

Keywords: Inheritance, Objects, Classes, Operational semantics
Collection: 30th European Conference on Object-Oriented Programming (ECOOP 2016)
Issue Date: 2016
Date of publication: 18.07.2016


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI