day_15_面向对象基础2
本质上,pyhon中所有的属性和方法都是公开的,在类的外部可以使用也可以被继承。
1.私有化 -- 让属性和方法只有在类的内部使用,不能在类的外部使用
1)语法:
声明属性或者方法的时候,在属性名或者方法名前加(两个下划线)"__"
2)私有化的原理:
python并不能像java一样从访问权限上去限制属性和方法,没有真正的私有属性和方法。私有化只是在两个下划线开头的名字前加前缀'__类名’,导致不能直接通过原名进行访问。
2.对象属性的保护:不要直接访问或者修改对象属性的值,而是通过属性访问器(getter)和修改器(setter)去操作对象属性(看懂代码用!!)
需要添加getter或者setter的对象属性,属性命名的时候需要在最前面加(一个下划线)“”。(添加(一个下划线)“”的目的是为了告诉使用者,这个属性我给它添加了getter或者setter)
2-1 getter - 获取属性的值(间接)
2-2 语法:
@property
def 函数名(self):
其他语句
return 属性值
函数名 - 对应的属性名去掉下划线“_”
属性值 - 和对应的有下划线的属性值有关联
print(对象.属性)