类定义中,使用self参数,来实现指向自己的属性访问。
类在实例化以后,就可以存取、调用其属性和方法。
再来做一个练习。
本练习感觉还是轻松理解。
car1.name = "Li's"
car1.color = "red"
car2.name = "Zhang's"
car2.color = "black"
我们看到,对象的属性可以直接访问,这样安全性就差。将变量私有化,就可以防止外部直接访问了,只有在内部才可以访问。
将属性的名称前加上两个下划线__就可以将其私有化了,这时再直接修改属性值将不会成功。当确实需要修改时,需要使用set方法。
如改变name,使用set_name方法。
直接改变属性值另一个缺陷是,对它的各种检查不如封装类的内部更合理。完善的封装提高程序得易维护性。