> At 7:49 AM +0800 17/9/98, Paul Prescod wrote: > >So to me, "inheritance"
between element types would be > ... > > > >Subclassing, on the other hand
> I think it is extremely dangerous to have different definitions for >
subclassing vs inheritance. The chance of confusion is way too high.
Please > use two terms which are less likely to be mixed in communication.
The fact that theAt 7:49 AM +0800 17/9/98, Paul Prescod wrote:
> >So to me, "inheritance" between element types would be
> ...
> >
> >Subclassing, on the other hand
> I think it is extremely dangerous to have different definitions for
> subclassing vs inheritance. The chance of confusion is way too high. Please
> use two terms which are less likely to be mixed in communication.
The difference in meanings is inherent. The word subtype (perhaps not
subclass) is very formally defined. The word inherit is perhaps not
formally defined, but has a very common English-language meaning. There
is essentially no relationship between those meanings. I don't "inherit"
my type from my father when he dies. I get "stuff" from him.
It is worth noting that Simula did not call its "class extensions"
inheritance.
http://www-leland.stanford.edu/class/cs242/outlines-95/simula.html
I presume that Smalltalk was what changed the names. In Smalltalk, the
difference between inheritance and subclassing would be more or less
irrelevant. In statically typed languages (like XML) the difference is
huge.
Paul Prescod