On 2008-06-03, sturlamolden <[EMAIL PROTECTED]> wrote:
> On Jun 2, 12:40 pm, Antoon Pardon <[EMAIL PROTECTED]> wrote:
>
>> I think you completed missed the point.
>>
>> This is just a proof of concept thing. In a real example there would
>> of course no Set en Get methods but just methods that in the course
>> of their execution would access or update the hidden attributes
>
> I have to agree with Banks here, you have not provided an example of
> data hiding. It does not discriminate between attribute access from
> within and from outside the class. You just assume that the attribute
> named 'hidden' will be left alone. Also naming it hidden is stupid as
> it is visible.

No I don't assume that hidden wil be left alone. hidden is a free
variable in a closure and thus simply can't be accessed except by
local functions that were made accessible (and some mechanism
dependant on the CPython implementation).

> What you need is a mechanism that will thrown an exception whenever an
> attribue is accessed from outside the class, but not from inside.

And my example does this. It threw an AttributeError

> The mechanism must also be impossible to override with additional
> code.

Which as far as I know it is.

-- 
Antoon Pardon
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to