I don't think you saw what I was getting at, here is a very explicit
example:
<cfset foo = CreateObject("component", "Salary")>
<cfset variables.salary = "123">
<cfoutput>#foo.getSalary()#</cfoutput>
getSalary will return 123
here is an even worse example:
foo.cfc:
<cfcomponent>
<cfset variables.x = "100">
<cffunction name="getX">
<cfreturn variables.x>
</cffunction>
<cffunction name="setX">
<cfargument name="x">
<cfset variables.x = arguments.x>
</cffunction>
</cfcomponent>
test.cfm:
<cfset foo1 = CreateObject("component", "foo")>
<cfset foo2 = CreateObject("component", "foo")>
<cfset foo1.setX(1)>
<cfset foo2.setX(2)>
<cfoutput>#foo1.getX()#</cfoutput>
take a wild guess what this outputs... 2!
not my idea of private.
-pete
-----Original Message-----
From: Matt Liotta [mailto:[EMAIL PROTECTED]]
Sent: Monday, September 02, 2002 6:38 PM
To: CF-Talk
Subject: RE: CFC theory
The variable is private. However, when you use the getSalary method you
return a reference to the private variable. This is the same in Java if
you declare a variable as private and have a public "getter" that
returns a reference to it.
Matt Liotta
President & CEO
Montara Software, Inc.
http://www.montarasoftware.com/
V: 415-577-8070
F: 415-341-8906
P: [EMAIL PROTECTED]
> -----Original Message-----
> From: Pete Freitag [mailto:[EMAIL PROTECTED]]
> Sent: Monday, September 02, 2002 3:40 PM
> To: CF-Talk
> Subject: RE: CFC theory
>
> > Anything placed in the variables scope is private; bug or not.
>
> Depends on how you look at it, sure it's private in that you can't
access
> cfcInstance.salary
>
> But you could do something like this...
>
> <cfset variables.salary = foo.getSalary()>
> <cfset variables.salary = DollarFormat(variables.salary)>
> <cfoutput>#variables.salary#</cfoutput>
>
> and you will change the value of the data member inside the CFC. I
don't
> see
> how you can call that behavior private, because it goes against all
the
> reasons you would want to have private access.
>
> Though I agree with you if you are saying that as long as the
developer
> using your CFC is aware of the bug, then you can pretend that
variables
> scope is private, and just avoid writing code like the code above.
>
>
>
______________________________________________________________________
Structure your ColdFusion code with Fusebox. Get the official book at
http://www.fusionauthority.com/bkinfo.cfm
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists