home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / object / 3388 < prev    next >
Encoding:
Text File  |  1992-09-02  |  1.6 KB  |  36 lines

  1. Newsgroups: comp.object
  2. Path: sparky!uunet!gossip.pyramid.com!decwrl!csus.edu!netcom.com!objsys
  3. From: Bob Hathaway <objsys@netcom.com>
  4. Subject: Re: Object-Oriented Methodologies - Class Specifications
  5. Message-ID: <j1kn6ll.objsys@netcom.com>
  6. Date: Wed, 02 Sep 92 19:57:03 GMT
  7. Organization: Object Systems
  8. References: <1992Sep1.220559.10346@m.cs.uiuc.edu> <1992Sep2.140048.11829@bcrka451.bnr.ca> <BtyJK8.GFH@rice.edu>
  9. Lines: 25
  10.  
  11.   [Please forgive my brief interjection, I haven't been following.]
  12.  
  13. In article <BtyJK8.GFH@rice.edu> mcw@cs.rice.edu (Michael Wirth) writes:
  14. >It's very interesting to note how our use of language (both programming and
  15. >human) influences our thinking.  In particular, use of a message passing style
  16. >of OOP, where methods are "owned" by their target class, leads to the curious
  17. >asymmetry noted above.  In a language, CLOS, which uses generic functions and
  18. >multi-methods (i.e., which specialize on more than one argument), this
  19. >asymmetry can be avoided, i.e., we would define a generic function, INTERSECT,
  20. >which would specialize on both its arguments.  One specific method which it
  21. >would be useful to define then would specialize on lines and circles:
  22. >        INTERSECT((x, LINE) (y, CIRCLE))
  23.  
  24. In "OOP" the INTERSECT function could be made a "friend" of LINE and CIRCLE
  25. granting INTERSECT access to both classes without violating a strong form of
  26. encapsulation.  Perhaps "strict OO messaging" could be substituted for "OOP".
  27. But I'd keep in mind that such implementation access isn't always a good thing.
  28.  
  29. >Who "owns" this method?  Probably some higher level entity, like the "geometry
  30. >package".
  31.  
  32. I agree.
  33.  
  34. bob
  35. objsys@netcom.com
  36.