在不改变类接口的前提下使用存取方法 (即读值和取值) 来修改数据的属性。什么意思呢?就是通过 obj.property 来读取一个值,obj.property = xxx ,来赋值。..._name = val
感受到 特性的魅力了吧,可以通过 赋值的时候 ,对 值进行校验,方式不合法的值,进入到对象的属性中. 下面 看下 如何设置只读属性, 和如何设置读写 特性....假设 有这样的一个需求 , 某个类的属性一个初始化之后 就不允许 被更改,这个 就可以用特性这个问题 , 比如一个人身高是固定, 一旦 初始化后,就不允许改掉....'
>>> Class.prop ='frank'
>>> obj.prop
'foo'
我尝试修改 obj.prop 会直接报错 ,这个容易理解, 因为property没有实现 setter 方法 ....我直接修改obj.dict,然后 在#1的地方, 发现 还是正常调用了特性 ,而没有属性的值.当我改变Class.prop变成一个属性的时候 .再次调用obj.prop才调用到了 实例属性.