home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.object:3396 comp.lang.clos:774
- Newsgroups: comp.object,comp.lang.clos
- Path: sparky!uunet!sun-barr!decwrl!csus.edu!netcom.com!objsys
- From: Bob Hathaway <objsys@netcom.com>
- Subject: Re: Object-Oriented Methodologies - Class Specifications
- Message-ID: <j8knsmd.objsys@netcom.com>
- Date: Thu, 03 Sep 92 00:23:42 GMT
- Organization: Object Systems
- References: <1992Sep2.140048.11829@bcrka451.bnr.ca> <BtyJK8.GFH@rice.edu> <j1kn6ll.objsys@netcom.com>
- Followup-To: comp.object
- Lines: 26
-
- In article <j1kn6ll.objsys@netcom.com> Bob Hathaway <objsys@netcom.com> writes:
- >>...
- >> INTERSECT((x, LINE) (y, CIRCLE))
- >
- >In "OOP" the INTERSECT function could be made a "friend" of LINE and CIRCLE
- >granting INTERSECT access to both classes without violating a strong form of
- >encapsulation. Perhaps "strict OO messaging" could be substituted for "OOP".
- >But I'd keep in mind that such implementation access isn't always a good thing.
-
- I may have jumped the gun. Simple functions can do the trick; access via
- a "friend" mechanism is only required for accessing an implementation (which
- is an efficiency trick and disastrous for multiple implementations). But I
- still don't understand why people think functions in CLOS are special;
- except for their left-to-right ordering and lack of default protection for
- their arguments they're still just ordinary polymorphic functions invoked at
- run-time. Maybe the run-time function invocation not being so commonly
- available explains why this is considered special (and is to CLOS' credit).
- But the lack of default protection means no multiple-implementations per
- type; a severe restriction that I doubt even CLOS' intercessory protocols
- can overcome. Am I wrong here? Can CLOS provide for the separation of
- types and classes (or any kind of multiple implementations per type)?
-
- bob
- objsys@netcom.com
-
- P.S. Going typeless is not an acceptable answer.
-