home *** CD-ROM | disk | FTP | other *** search
- From: kers@hplb.hpl.hp.com (Chris Dollin)
- Date: Fri, 22 Jan 1993 09:59:35 GMT
- Subject: Re: Re: FAQ Part 1 (of 2) [ polymorphism or latent typing? ]
- Message-ID: <KERS.93Jan22095935@cdollin.hpl.hp.com>
- Organization: Hewlett-Packard Laboratories, Bristol, UK.
- Path: sparky!uunet!usc!sdd.hp.com!hpscit.sc.hp.com!hplextra!otter.hpl.hp.com!hpltoad!cdollin!kers
- Newsgroups: comp.object
- References: <1993Jan13.061114.18430@netcom.com> <PCG.93Jan20002119@decb.aber.ac.uk> <1993Jan22.004420.16674@netcom.com>
- Sender: news@hplb.hpl.hp.com (Usenet News Administrator)
- Lines: 50
- In-Reply-To: Bob Hathaway's message of Fri, 22 Jan 1993 00:44:20 GMT
- Nntp-Posting-Host: cdollin.hpl.hp.com
-
- In article ... Bob Hathaway <objsys@netcom.com> writes:
-
- Or even better, try Eiffel [Meyer 88:p224] ""Polymorphism" means the ability
- to take several forms. In object-oriented programming, this refers to the
- ability of an entity to refer at run-time to instances of various classes.
- In a typed environment such as Eiffel, this is constrained by inheritance."
-
- and later:
-
- I think you're the one inflicting confusing terminology. Everyone in recent
- history seems to define polymorphism as a property of objects (Stroustrup,
- Meyer, Booch, ...)
-
- Your quote from Meyer (above) shows clearly that, for Meyer, polymorphism is a
- property of *entities*, not *objects*. Meyer describes [p73, OOSC] an
- ``entity'' as the object-oriented equivalent of a variable. In Eiffel, entities
- of a class hold references to objects.
-
- Thus, in at least this one case, polymorphism is a property of *entities*, not
- *objects*.
-
- Lets look at the real world. There is some class of objects, B, that can
- have many forms, lets assume as given the case that they don't change once
- a particular form is taken. Now lets define some kinds of forms that a B
- can take, and call these classes D1, D2, ... Now take the case of where any
- of the D's can occur. In the sciences, B is refered to as "polymorphic" or
- as a "polymorphic object". I can declare a B object that can stand for any
- of the D forms. Since B can take on many differing forms, it is defined as
- "polymorphic". The property that B can assume different forms (and not the
- ability to become other forms, as in metamorphosis) is the canonical use of
- the term polymorphism. So sorry, it doesn't look as though structural and
- behavioral replacement (or a becomes facility) is the standard usage of the
- term polymorphism.
-
- Not in the natural sciences, perhaps. Different fields of inquiry are
- characterised by different linguistic perversions, sorry, developments.
- How else could it be? There are different clusters of people doing the
- work, with their own linguistic history, and the subject matter itself
- suggests its own metaphors.
-
- It might be ``standard'' to use polymorphism this way outside computing,
- but it's ``standard'' to use ``bit'' to mean a little piece of something,
- ``core'' to mean the centre of something (usually -- in my experience -- an
- apple), ``pipe'' to mean a physical tube through which (generalised) fluids
- flow or something to smoke tobacco in, and ``function'' to mean a bit of a do.
-
- --
-
- Regards, | "You're better off not dreaming of the things to come;
- Kers. | Dreams are always ending far too soon." - Caravan.
-