skip to main content
article
Free Access

Mixin-based inheritance

Authors Info & Claims
Published:01 September 1990Publication History
Skip Abstract Section

Abstract

The diverse inheritance mechanisms provided by Smalltalk, Beta, and CLOS are interpreted as different uses of a single underlying construct. Smalltalk and Beta differ primarily in the direction of class hierarchy growth. These inheritance mechanisms are subsumed in a new inheritance model based on composition of mixins, or abstract subclasses. This form of inheritance can also encode a CLOS multiple-inheritance hierarchy, although changes to the encoded hierarchy that would violate encapsulation are difficult. Practical application of mixin-based inheritance is illustrated in a sketch of an extension to Modula-3.

References

  1. 1 CARDELLI, L. A semantics of multiple inheritance. In Semantics of Data Types (1984), vol. 173 of Lecture Notes in Computer Science, Springer-Verlag, pp. 51-68. Google ScholarGoogle ScholarCross RefCross Ref
  2. 2 CARDELLI, L., DONAHUE,' J., GLASSMAN, L., JORDAN, M., }~{ALSOW, B., AND NELSON, G. Modula-3 report (revised). Tech. Rep. 52, Digital Equipment Corporation Systems Research Center, Dec. 1989.Google ScholarGoogle Scholar
  3. 3 COOK, W. A Denolalional Semantics of Inheritance. PhD thesis, Brown University, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 COOK, W., AND PALSBERG, J. A denotational semantics of inheritance and its correctness. In Proc. of A CM Conf. on Object-Oriented Programming, Systems, Languages and Applications (1989), pp. 433-444. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 DAHL, O.-J., MYHRHAUG, B., AND NYGAARD, K. The SIMULA 67 common base language. Tech. rep., Norwegian Computing Center, Oslo, Norway, 1970. Publication S-22.Google ScholarGoogle Scholar
  6. 6 DEMICHIEL, L., AND GABRIEL, R. The Common Lisp Object System: An overview. In European Conference on Object-Oriented Programming (june 1987), pp. 151-170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 DUCOURNAU, P~., AND HABIB, M. On some algorithms for multiple inheritance in object-oriented programming. In European Conference on Object- Oriented Programming (1987), pp. 243-252. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 GOLDBERG, A., AND ROBSON, D. Smalltalk-80: the Language and Its Implementation. Addison- Wesley, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 KEENE, S. }3. Object-Oriented Programming in Common Lisp. Addison-Wesley, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 KRISTENSEN, B. B., MADSEN, O. L., MOLLER.- PBDERSEN, B., AND NYGAARD, K. The Beta programming language. In Research Directions in Object-Oriented Programming. MIT Press, 1987, pp. 7-48. Google ScholarGoogle Scholar
  11. 11 KRISTENSEN, B. B., MADSEN, O. L., MOLLER- PEDERSON, B., AND NYGAARD, Z. The Beta programming language - a Scandinavian approach to object-oriented programming, Oct. 1989. OOPSLA Tutorial Notes.Google ScholarGoogle Scholar
  12. 12 KRISTENSEN, B. B., MADSEN, 0. L., MOLLER.- PENDER.SEN, B., AND NYGAARD, K. Abstraction mechanisms in the Beta programming language. Information and Control (1983).Google ScholarGoogle Scholar
  13. 13 MOON, D. A. Object-oriented programming with Flavors. In Proc. of A CM Conf. on Object-Oriented Programming, Systems, Languages and Applications (1986), pp. 1-8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 PAPAZOGLOU, M. P., GEORGIADIS, P. I., AND MARITSAS, D. G. An outline of the programming language Simula. Computer Language 9, 2 (1984), 107-131. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 REDDY, U. S. Objects as closures: Abstract semantics of object-oriented languages. In Proc. A CM Conf. on Lisp and Functional Programming (1988), pp. 289-297. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 SNYDER., A. Encapsulation and inheritance in object-oriented programming languages. In Proc. of A CM Conf. on Object-Oriented Programming, Systems, Languages and Applications (1986), pp. 38-45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 SNYDER, A. Inheritance and the development of encapsulated software systems. In Research Directions in Object-Oriented Programming. MIT Press, 1987, pp. 165-188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 WAND, M. Type inference for record concatenation and multiple inheritance. In Proc. IEEE Symposium on Logic in Computer Science (1989), pp. 92- 97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19 WEGNER, P., AND ZDONIK, S. B. Inheritance as a mechanism for incremental modification. In European Conference on Object-Oriented Programming (1988), pp. 55-77. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Mixin-based inheritance

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 25, Issue 10
          Oct. 1990
          320 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/97946
          Issue’s Table of Contents
          • cover image ACM Conferences
            OOPSLA/ECOOP '90: Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
            September 1990
            336 pages
            ISBN:0897914112
            DOI:10.1145/97945

          Copyright © 1990 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 September 1990

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader