Affiliation:
1. University of Utah, Salt Lake City, UT
2. University of Chicago, Chicago, IL
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
9 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Contracts for First-Class Classes;ACM Transactions on Programming Languages and Systems;2013-11
2. Metamodeling semantics of multiple inheritance;Science of Computer Programming;2011-07
3. Contracts for first-class classes;ACM SIGPLAN Notices;2010-12-03
4. Concept-Oriented Programming;Encyclopedia of Information Science and Technology, Second Edition;2009
5. Concepts and Concept-Oriented Programming.;The Journal of Object Technology;2008