Paul Prescod wrote: > > On 15 Sep 1998 matt@veosystems.com wrote: > > > I know your opinion here. But inheritance is just a subset of > > subclass relationships (subclass is an as-a relationship, inheritance > > is an is-a relationship, and all is-a relationship are also as-a > > relationships). > > I don't think that there is anything in the word "inheritance" that > implies an is-a relationship, though I agree that sometimes it is used > that way. > "Sometimes" meaning rarely, or "sometimes" meaning almost always, but I'm not ready to concede the point? (I, too, can split hairs! ;-) Inheritance and subclassing are both about substitutability. I think it would be fair to say that inheritance has _almost always_ been associated with wholesale borrowing of the structure of the thing being inherited from, either through copy or reference (through delegation). The exceptions, like C++'s private inheritance, are at the margins. In what language that you are aware of does inheritance or subclassing not imply substitutability? > > So let me do so: > > XML element types have three interesting properties: content models, > attributes and GIs. So to me, "inheritance" between element types would be > about borrowing some or all of another element types content model, > attributes or GIs. > If you only borrow some, you lose substitutability. If you want to borrow without substitution, just use pe's. You haven't gained anything semantically interesting. > Subclassing, on the other hand, would be about having an element of one > type "play the part of" an element of another type, such as a > cross-reference "playing" an XLink. > Inheritance means playing the part of the element you are inheriting from (with a nod towards awkward exceptions at the margin). Matthew Fuchs matt@veosystems.com xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@ic.ac.uk the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)