MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Interfaces with Default Implementations in Java (2002)

Download:
pdf | ps
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