- 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到
- 私有属性 就是 对象 不希望公开的 属性
- 私有方法 就是 对象 不希望公开的 方法
定义方式
class Women:
def __init__(self, name):
self.name = name
# 不要问女生的年龄
self.__age = 18
def __secret(self):
print("我的年龄是 %d" % self.__age)
xiaofang = Women("小芳")
# 私有属性,外部不能直接访问
# print(xiaofang.__age)
# 私有方法,外部不能直接调用
# xiaofang.__secret()
# 并没有真正意义上的私有
print(xiaofang._Women__age)
xiaofang._Women__secret()
原理是啥,我也不知道
在给 属性、方法 命名时,实际是对 名称 做了一些特殊处理,使得外界无法访问到
私有属性就是不想被外部访问,什么原理使得它在被外部调用的时候,报错说这个对象没有这个方法