Re: clarification regarding properties



On Fri, Mar 27, 2009 at 2:31 PM, WT <jrcapab@xxxxxxxxx> wrote:

>
> On Mar 27, 2009, at 6:34 PM, Quincey Morris wrote:
>
> The 'foo' in 'self.foo' is a property. The 'foo' in 'just foo' is *not* a
>> property, but an instance variable. It's really important to know that the
>> two are entirely different things, even when they are named the same.
>> Whether the property foo even uses an instance variable foo is an
>> implementation detail of your class. A property *may* be implemented using
>> an instance variable for its storage requirements, and the instance variable
>> *may* have the same name as the property, but neither of those things are
>> requirements.
>>
>
> I have trouble understanding the above. How can a property be implemented,
> if not by using an instance variable?


Any way you like. The property "foo" is nothing more than a pair of accessor
methods -foo and -setFoo:. Those methods can, and often do, manage an
instance variable of the same name, but that's not a requirement, just an
implementation detail. They could just as well use a differently-named
instance variable, or external storage such as a file or database. A
read-only property could even be calculated on demand, using no storage at
all.

sherm--

--
Cocoa programming in Perl: http://camelbones.sourceforge.net
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@xxxxxxxxxxxxxxx)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/maillists%40codeha.us

This email sent to maillists@xxxxxxxxx



Privacy