home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / object / 4994 < prev    next >
Encoding:
Internet Message Format  |  1993-01-22  |  3.2 KB

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