Path: utzoo!attcan!uunet!snorkelwacker!usc!brutus.cs.uiuc.edu!psuvax1!psuvm!uh2 From: UH2@psuvm.psu.edu (Lee Sailer) Newsgroups: comp.object Subject: Re: Views in OO languages Message-ID: <90043.113017UH2@PSUVM.BITNET> Date: 12 Feb 90 16:30:17 GMT References: <1385@tnoibbc.UUCP> <90039.113649UH2@PSUVM.BITNET> <5668@blake.acs.washington.edu> Organization: Penn State University Lines: 28 In article <5668@blake.acs.washington.edu>, benson@blake.acs.washington.edu (Dan Benson) says: > >In article <90039.113649UH2@PSUVM.BITNET> UH2@psuvm.psu.edu (Lee Sailer) : >writes >> >>In the database world, views are often complicated joins of many types >>of thing. In this case, systems with multiple inheritance would work >>better than those with single. Of course, the usual tricks for >>simulating multiple inheritance like behavio should still work. >> >I'm not familiar with the "usual tricks" you refer to. Sounds interesting. >Could you please elaborate? Thanks > It's a kludge. Suppose you want anX to inherit from both aY and aZ, but your language doesn't have multi-inheritance. Create anX as a subclass of aY, and give it an attribute of type aZ (or a message that returns aZ, or whatever). This can be extended to anA, aB, aC, etc, of course. To utilize anX's Z-like behavior, you cannot just send a message to anX. You have to send it to the X's aZ. The overhead is mostly in the head of the programmer, which is too bad, since that is the kind of overhead OOP is supposed to reduce. Try Eiffel 8-). lee