Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Mixin-based inheritance

Published: 01 September 1990 Publication History

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]
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.
[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.
[3]
COOK, W. A Denolalional Semantics of Inheritance. PhD thesis, Brown University, 1989.
[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.
[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.
[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.
[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.
[8]
GOLDBERG, A., AND ROBSON, D. Smalltalk-80: the Language and Its Implementation. Addison- Wesley, 1983.
[9]
KEENE, S. }3. Object-Oriented Programming in Common Lisp. Addison-Wesley, 1989.
[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.
[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.
[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).
[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.
[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.
[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.
[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.
[17]
SNYDER, A. Inheritance and the development of encapsulated software systems. In Research Directions in Object-Oriented Programming. MIT Press, 1987, pp. 165-188.
[18]
WAND, M. Type inference for record concatenation and multiple inheritance. In Proc. IEEE Symposium on Logic in Computer Science (1989), pp. 92- 97.
[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.

Cited By

View all
  • (2024)Puzzle Pattern, a Systematic Approach to Multiple Behavioral Inheritance Implementation in Object-Oriented ProgrammingApplied Sciences10.3390/app1412508314:12(5083)Online publication date: 11-Jun-2024
  • (2024)Merging Gradual TypingProceedings of the ACM on Programming Languages10.1145/36897348:OOPSLA2(648-676)Online publication date: 8-Oct-2024
  • (2022)Behavioral customization of state machine models at ESOProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3547005(188-198)Online publication date: 12-Sep-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
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: 01 September 1990
Published in SIGPLAN Volume 25, Issue 10

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)205
  • Downloads (Last 6 weeks)32
Reflects downloads up to 16 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Puzzle Pattern, a Systematic Approach to Multiple Behavioral Inheritance Implementation in Object-Oriented ProgrammingApplied Sciences10.3390/app1412508314:12(5083)Online publication date: 11-Jun-2024
  • (2024)Merging Gradual TypingProceedings of the ACM on Programming Languages10.1145/36897348:OOPSLA2(648-676)Online publication date: 8-Oct-2024
  • (2022)Behavioral customization of state machine models at ESOProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3547005(188-198)Online publication date: 12-Sep-2022
  • (2022)Cropbox: a declarative crop modelling frameworkin silico Plants10.1093/insilicoplants/diac0215:1Online publication date: 12-Dec-2022
  • (2021)On the Understandability of Language Constructs to Structure the State and Behavior in Abstract State Machine Specifications: A Controlled ExperimentJournal of Systems and Software10.1016/j.jss.2021.110987178(110987)Online publication date: Aug-2021
  • (2020)A new modular implementation for stateful traitsScience of Computer Programming10.1016/j.scico.2020.102470195(102470)Online publication date: Sep-2020
  • (2020)Structuring the State and Behavior of ASMs: Introducing a Trait-Based Construct for Abstract State Machine LanguagesRigorous State-Based Methods10.1007/978-3-030-48077-6_17(237-243)Online publication date: 27-May-2020
  • (2019)A foundation for the composition of multilevel domain-specific languagesProceedings of the 22nd International Conference on Model Driven Engineering Languages and Systems10.1109/MODELS-C.2019.00018(88-97)Online publication date: 15-Sep-2019
  • (2018)Interoperability of software product line variantsProceedings of the 22nd International Systems and Software Product Line Conference - Volume 110.1145/3233027.3236401(264-268)Online publication date: 10-Sep-2018
  • (2018)Implementing modular class-based reuse mechanisms on top of a single inheritance VMProceedings of the 33rd Annual ACM Symposium on Applied Computing10.1145/3167132.3167244(1030-1037)Online publication date: 9-Apr-2018
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media