ACM Home Page
Please provide us with feedback. Feedback
Super and inner: together at last!
Full text PdfPdf (181 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Vancouver, BC, Canada
SESSION: Inheritance table of contents
Pages: 116 - 129  
Year of Publication: 2004
ISBN:1-58113-831-9
Also published in ...
Authors
David S. Goldberg  University of Utah, Salt Lake City, UT
Robert Bruce Findler  University of Chicago, Chicago, IL
Matthew Flatt  University of Utah, Salt Lake City, UT
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 34,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1028976.1028987
What is a DOI?

ABSTRACT

In an object-oriented language, a derived class may declare a method with the same signature as a method in the base class. The meaning of the re-declaration depends on the language. Most commonly, the new declaration overrides the base declaration, perhaps completely replacing it, or perhaps using <b>super</b> to invoke the old implementation. Another possibility is that the base class always controls the method implementation, and the new declaration merely augments the method in the case that the base method calls <b>inner</b>. Each possibility has advantages and disadvantages. In this paper, we explain why programmers need both kinds of method redeclaration, and we present a language that integrates them. We also present a formal semantics for the new language, and we describe an implementation for MzScheme.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
 
4
L. Bettini, S. Capecchi, and B. Venneri. Extending Java to dynamic object behaviors. In Proc. Workshop on Object-Oriented Developments, volume 82. Elsevier, 2003.
5
 
6
A. Clark. A layered object-oriented programming language. GEC Journal of Research, 11(2):173--180, 1994.
 
7
 
8
 
9
E. Ernst. gbeta - a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance. PhD thesis, Department of Computer Science, University of Aarhus, Århus, Denmark, 1999.
 
10
 
11
 
12
M. Flatt. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.
 
13
14
 
15
 
16
 
17
 
18
19
 
20
 
21
B. H. Liskov and J. Wing. Behavioral subtyping using in-variants and constraints. Technical Report CMU CS-99-156, School of Computer Science, Carnegie Mellon University, July 1999.
22
 
23
J. Matthews, R. B. Findler, M. Flatt, and M. Felleisen. A visual environment for developing context-sensitive term rewriting systems. In Proc. International Conference on Rewriting Techniques and Applications, June 2004.
 
24
D. M. Oliveira. GNU EDMA. http://www.gnu.org/software/edma/edma.html.
 
25
 
26


Collaborative Colleagues:
David S. Goldberg: colleagues
Robert Bruce Findler: colleagues
Matthew Flatt: colleagues