28

Mixin-based inheritance

 3 years ago
source link: https://dl.acm.org/doi/10.1145/97946.97982
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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.
  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.
  3. 3 COOK, W. A Denolalional Semantics of Inheritance. PhD thesis, Brown University, 1989.
  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.
  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.
  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.
  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.
  8. 8 GOLDBERG, A., AND ROBSON, D. Smalltalk-80: the Language and Its Implementation. Addison- Wesley, 1983.
  9. 9 KEENE, S. }3. Object-Oriented Programming in Common Lisp. Addison-Wesley, 1989.
  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.
  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.
  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).
  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.
  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.
  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.
  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.
  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.
  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.
  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.

Comments

0 Comments


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK