Abstract
A categorical semantics of multiple inheritance is presented, in which the inheritance relations between program entities are represented as commutative diagrams in a suitable category, and multiple inheritance is then modelled with colimits of such diagrams. It is shown that the informal semantics of multiple inheritance used in existing object-oriented programming languages conforms to, or is consistent with, this model.
Similar content being viewed by others
References
Borning, A. H. and Ingalls, D. H. H.: Multiple Inheritance in Smalltalk-80,Proc. Nat. Conf. on Artificial Intelligence, Pittsburgh, pp. 234–237, August 1982.
Bobrow, D. G., Kahn, K., Kiczales, G., Masinter, L., Stefik, M. and Zdybel, F.: CommonLoops: Merging Lisp and Object-Oriented Programming,Proc. ACM Conf. on Object-Oriented Systems, Languages, and Applications, Portland, Oregon, pp. 17–29, September 1986.
Burstall, R. and Goguen, J.: Putting Theories Together to Make Specifications,Proc. 5th IJCAI, Cambridge, Massachusetts, pp. 1045–1058, 1977.
Cardelli, L.: A Semantics of Multiple Inheritance.Information and Computation, 76 (2/3), 138–164 (1988).
Cardelli, L. and Wegner, P.: On Understanding Types, Data Abstraction, and Polymorphism.ACM Computing Surveys, 17(4), 471–522 (1985).
Goguen, J. A. and Meseguer, J.: Extensions and Foundations of Object-Oriented Programming,Proc. Object-Oriented Programming Workshop. Sigplan Notices, 21(10), 153–162 (1986).
Lieberman, H.: Using Prototypical Objects to Implement Shared Behaviour in Object Oriented Systems,Proc. ACM Conf. on Object-Oriented Systems, Languages, and Applications, Portland, Oregon, pp. 214–223, September 1986.
MacQueen, D. B., Plotkin, G. D. and Sethi, R.: An Ideal Model for Recursive Polymorphic Types.Information and Control, 71, 95–130 (1986).
Meyer, B., Nerson, J.-M. and Matsuo, M.: Eiffel: Object-Oriented Design for Software Engineering,Proc. 1st European Software Engineering Conference, France, pp. 221–229, September 1987.
Moon, D. A.: Object-Oriented Programming with Flavors,Proc. ACM Conf. on Object-Oriented Systems, Languages, and Applications, Portland, Oregon, September 1986.
Schaffert, C., Cooper, T., Bullis, B., Killian, M. and Wilpolt, C.: An Introduction to Trellis/Owl,Proc. ACM Conf. on Object-Oriented Systems, Languages, and Applications, Portland, Oregon, September 1986.
Snyder, A.: Encapsulation and Inheritance in Object-Oriented Programming Languages,Proc. ACM Conf. on Object-Oriented Systems, Languages, and Applications, Portland, Oregon, September 1986.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Lin, H., Pong, MC. Modelling multiple inheritance with colimits. Formal Aspects of Computing 2, 301–311 (1990). https://doi.org/10.1007/BF01888231
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01888231