Lists Home |
Date Index |
- From: email@example.com
- To: firstname.lastname@example.org
- Date: 16 Sep 1998 17:25:35 -0700
- Date: Wed, 16 Sep 1998 17:25:35 -0700 (PDT)
Paul Prescod wrote:
> On 15 Sep 1998 email@example.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).
xml-dev: A list for W3C XML Developers. To post, mailto:firstname.lastname@example.org
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:email@example.com the following message;
To subscribe to the digests, mailto:firstname.lastname@example.org the following message;
List coordinator, Henry Rzepa (mailto:email@example.com)
- OO Schemas
- From: Paul Prescod <firstname.lastname@example.org>