Simulating multiple inheritance and generics in Java

Computer Languages - Tập 25 - Trang 189-210 - 1999
Krishnaprasad Thirunarayan1, Günter Kniesel2, Haripriyan Hampapuram3
1Department of Computer Science and Engineering, Wright State University, Dayton, OH-45435, USA
2Computer Science Department III, University of Bonn, D-53117 Bonn, Germany
3Intrinsa Corporation, Mountain View, CA-94041, USA

Tài liệu tham khảo

Gamma E, Helm R, Johnson R, Vlissides J. Design patterns: elements of reusable object-oriented software. Reading, MA: Addison-Wesley, 1995. Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M. Pattern-oriented software architecture: a system of patterns. New York: Wiley, 1996. Vlissides J. Pattern hatching. Reading, MA: Addison-Wesley, 1998. Joyner I. AC++?? critique. Eiffel Liberty Resources at http://www.elj.com/eiffel/ij//, 1998. Meyer B. Object-oriented software construction. 2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 1997. Lakshmanan LVS, Thirunarayan K. Declarative frameworks for inheritance. In: Chomicki J, Saake G. editors. Logics for databases and information systems. Dordrecht: Kluwer Academic Publishers, 1998. p. 357. Stroustrup B. The C++ programming language. 3rd ed. Reading, MA: Addison-Wesley, 1997. Budd T. An introduction to object-oriented programming. 2nd ed. Reading, MA: Addison-Wesley, 1997. Kniesel G. Multiple inheritance and delegation revisited. University of Bonn, Germany, 2000, in preparation. Appel A. Modern compiler implementation in Java. Cambridge: Cambridge University Press, 1998. Driesen K, Hölzle U, Vitek J. Message dispatch on pipelined processors. In: Olthoff W. Proceedings ECOOP’95, Lecture Notes in Computer Science, vol. 952. Berlin: Springer, 1995. p. 253–82. Abadi M, Cardelli L. A theory of objects. Berlin: Springer, 1996. Cardelli L, Wegner P. On understanding types, data abstraction, and polymorphism ACM Computing Surveys 1985; 17(4):471–522. Harrison W, Ossher H, Tarr P. Using delegation for software and subject composition. Research Report RC 20946 (922722), IBM Research Division, T.J. Watson Research Center, 5 August 1997. Kniesel G. Delegation for Java — API or language extension? Technical Report IAI-TR-98-4, ISSN 0944-8535, University of Bonn, Germany, 1998. Blewitt A. Java tip 71: use dynamic messaging in Java. http://www.javaworld.com/javaworld/javatips/jw-javatip71.html, 1999. Stroustrup B. The design and evolution of C++. Reading, MA: Addison-Wesley, 1994. Arnold K, Gosling J. The Java programming language, 2nd ed. Reading, MA: Addison-Wesley, 1999. Budd T. Understanding object-oriented programming with Java. updated ed. Reading, MA: Addison-Wesley, 2000. Kniesel G. Dynamic object-based inheritance with subtyping. Ph.D. thesis, University of Bonn, Computer Science Department III, 2000. Kniesel G. Type-safe delegation for run-time component adaptation. European Conference on Object-Oriented Programming, Lecture Notes in Computer Science, vol. 1628. Berlin, Springer, 1999, p. 351–66. Ullman JD. Elements of ML programming. 2nd ed. (ML97). Englewood Cliffs, NJ: Prentice-Hall, 1998. Myers AC, Bank JA, Liskov B. Parameterized types in Java. Proceedings of 24th POPL, 1997. p. 132–45. Odersky M, Wadler P. Pizza into Java: translating theory into practice. Proceedings of 24th POPL, 1997. p. 146–59. Bracha G, Odersky M, Stoutamire D, Wadler P. Making the future safe for the past: adding genericity to the Java programming language. Proceedings of OOPSLA-98, October 1998. Bruce K. Increasing Java's expressiveness with ThisType and match-bounded polymorphism. Draft 1997. Gosling J, Joy B, Steele G, Bracha G. The Java language specification. 2nd ed. Reading, MA: Addison-Wesley, 2000.