| Super and inner: together at last! |
| Full text |
Pdf
(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
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 34, Citation Count: 3
|
|
|
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
|
Robert Bruce Findler , Cormac Flanagan , Matthew Flatt , Shriram Krishnamurthi , Matthias Felleisen, DrScheme: A Pedagogic Programming Environment for Scheme, Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education, p.369-388, September 03-05, 1997
|
| |
12
|
M. Flatt. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.
|
| |
13
|
|
 |
14
|
Matthew Flatt , Shriram Krishnamurthi , Matthias Felleisen, Classes and mixins, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.171-183, January 19-21, 1998, San Diego, California, United States
[doi> 10.1145/268946.268961]
|
| |
15
|
|
| |
16
|
|
| |
17
|
|
| |
18
|
|
 |
19
|
N. I. Adams, IV , D. H. Bartley , G. Brooks , R. K. Dybvig , D. P. Friedman , R. Halstead , C. Hanson , C. T. Haynes , E. Kohlbecker , D. Oxley , K. M. Pitman , G. J. Rozas , G. L. Steele, Jr. , G. J. Sussman , M. Wand , H. Abelson, Revised5 report on the algorithmic language scheme, ACM SIGPLAN Notices, v.33 n.9, p.26-76, Sept. 1, 1998
[doi> 10.1145/290229.290234]
|
| |
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
|
|
CITED BY 3
|
|
|
|
|
Bent Bruun Kristensen , Ole Lehrmann Madsen , Birger Møller-Pedersen, The when, why and why not of the BETA programming language, Proceedings of the third ACM SIGPLAN conference on History of programming languages, p.10-1-10-57, June 09-10, 2007, San Diego, California
|
|