Is there any place method chaining using 'this' is further explained - I
just got very confused!!

Sean, will you be covering things like this in your upcoming CFMX 6.1 Best
Practices?

Walt




-----Original Message-----
From:   Sean A Corfield [SMTP:[EMAIL PROTECTED]
Sent:   Friday, August 15, 2003 12:35 PM
To:     [EMAIL PROTECTED]
Subject:        Re: [CFCDev] CFC Persistance

On Friday, Aug 15, 2003, at 07:18 US/Pacific, Brad Howerter wrote:
> Why would you return 'this' from the init function?  'This' is not a 
> pointer
> to the object, so what good does it do the method caller?

Method chaining. It allows the following convenient idiom:

        <cfset obj = createObject("component","mycfc").init() />

"this" *is* a reference to the object (not a pointer - there are no 
pointers in Java or CF).

It can be very convenient to have all mutators (setters, initializers) 
return "this" (instead of returning nothing - returntype="void"). Then 
you can do:

        <cfset obj.setFirstName("Sean").setLastName("Corfield") />

Also note that omitting returntype= is *not* the same as specifying 
returntype="void". The latter ensures that your function returns 
nothing (i.e., you have no cfreturn tag or only empty cfreturn tags). 
If you simply omit the returntype= attribute, you can return anything 
and it is unchecked.

Sean A Corfield -- http://www.corfield.org/blog/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev' 
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev' 
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

Reply via email to