by Aachener Informatik Berichte, Rwth Aachen, Markus Mohnen, Markus Mohnen
In Conference on the Principles and Practice of Programming in Java. ACM
http://sunsite.informatik.rwth-aachen.de/Publications/AIB/2002/2002-09.ps.gz
Add To MetaCart
Abstract:
Abstract. With the interface construct, Java features a concept with high potential for producing reusable code: Java's interfaces allow the definition of class properties independently of class inheritance. We propose an extension of Java for providing default implementations in interfaces. Default implementations are useful since they reduce the effort required to implement an interface. They are especially interesting if there is a canonical way to implement methods of the interface in terms of some other methods. In these cases, an implementation can be obtained by implementing the base methods and use the default implementations of the other methods. We discuss the rationale for our design and show that the extension can be implemented both efficiently and conservatively, i.e. without modification of the Java virtual machine. 1
Citations
|
3620
|
Design Patterns. Elements of Reusable Object-Oriented Software
– Gamma, Helm, et al.
- 1998
|
|
1268
|
The C++ Programming Language
– Stroustrup
- 1997
|
|
283
|
Making the future safe for the past: adding genericity to the java programming language
– Bracha, Odersky, et al.
- 1998
|
|
215
|
Report on the Programming Language Haskell, A Non-strict, Purely Functional Language
– Hudak, Jones, et al.
- 1992
|
|
212
|
Classes and mixins
– Flatt, Krishnamurthi, et al.
|
|
183
|
Encapsulation and Inheritance in Object-oriented Programming Languages
– Snyder
- 1986
|
|
132
|
The Java Virtual Machine Specification. The Java Series
– Lindholm, Yellin
- 1997
|
|
101
|
Object-Oriented Programming in COMMON LISP: A Programmer's Guide to CLOS
– Keene
- 1989
|
|
73
|
Eiffel: The Language. ObjectOriented Series
– Meyer
- 1992
|
|
42
|
Genericity in Java with virtual types
– Thorup
- 1997
|
|
37
|
Barat–A Front-End for Java
– Bokowski, Spiegel
- 1998
|
|
7
|
Classes: an abstract data type facility for the C language
– STROUSTRUP
- 1982
|
|
5
|
Interfaces with Skeletal Implementations in Java
– Mohnen
- 2000
|
|
3
|
Improving reusability with Actor 4.0's protocol mechanism
– WU
- 1992
|
|
3
|
Protocol vs. Multiple Inheritance
– WU
- 1992
|