Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!gem.mps.ohio-state.edu!usc!apple!sun-barr!newstop!sun!brahmand!grover From: grover%brahmand@Sun.COM (Vinod Grover) Newsgroups: comp.object Subject: Inheritence and Delegation Message-ID: <126109@sun.Eng.Sun.COM> Date: 10 Oct 89 21:53:52 GMT Sender: news@sun.Eng.Sun.COM Lines: 44 I recieved a number of replies concerning my query about Inheritence and Delegation. They are given below for anyone else interested. ================ From: rkr@june.cs.washington.edu (R. K. Raj) Henry Lieberman, "Using Protypical Objects to Implement Shared Behavior in Object Oriented Systems", Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages and Applications, pages 214-223, Sep 1986 Lynn Andrea Stein, "Delegation Is Inheritance", Proceedings of the Second ACM Conference on Object-Oriented Programming Systems, Languages and Applications, pages 138-146, Oct 1987 Markku Sakkinen, "Disciplined Inheritance", Proceedings of the Third European Conference on Object-Oriented Programming, pages 39-56, Jul 1989 From: swami@cssuN.tamu.edu (Swaminathan Natarajan) One paper that describes delegation, though probably not the original paper, is: "Dimensions of Object-based Language Design" by Peter Wagner, in OOPSLA 87 proceedings. From: dumbcat!marc (Marco S Hyman) See the article ``Genericity vs Inheritance vs Delegation vs Conformance vs ...'' by Blair, Gallagher, and Malik in the Sept/Oct 1989 issue of the Journal of Object-Oriented Programming. (Computer Literacy has it if you're in the Bay Area.) It says ``Inheritance can be viewed as a specialization of delegation in which the entities that inherit are classes.'' From: landauer@morocco (Doug Landauer) One decent paper that describes one way of looking at inheritance vs delegation is in OOPSLA '87 -- by Lynn Andrea Stein, "Delegation Is Inheritance". (Also == SIGPLAN Notices 22(12), December 1987.) This has some examples showing the differences, and then a proof that a delegation hierarchy (actually, a DAG) can always be modeled by some inheritance hierarchy, and vice versa. SELF is an example of a (Smalltalk-like) language which uses delegation instead of inheritance -- See "Self: the Power of Simplicity", also in OOPSLA '87, by Ungar & Smith. ================ Vinod Grover grover@sun.com