私有属性和私有方法
- 在实际开发中,对象的某些属性或者方法可能只希望在对象的内部被使用,而不希望在外部被访问到
- 在定义属性或者方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性和私有方法
class Women:
def __init__(self,name):
self.name = name
self.__age = 18
def __secret(self):
# 在对象的方法内部,是可以访问对象的私有属性的
print("%s的年龄是%d" % (self.name,self.__age))
xiaofang = Women("小芳")
# 私有属性在外界不能够被直接访问
print(xiaofang.__age)
# 私有方法,同样不允许在外界直接被访问
xiaofang.___secret()
输出为
- python中,并没有真正意义的私有,在名称前面加上_类名 ==> _类名__名称
class Women:
def __init__(self,name):
self.name = name
self.__age = 18
def __secret(self):
# 在对象的方法内部,是可以访问对象的私有属性的
print("%s的年龄是%d" % (self.name,self.__age))
xiaofang = Women("小芳")
# 私有属性在外界不能够被直接访问
print(xiaofang._Women__age)
# 私有方法,同样不允许在外界直接被访问
xiaofang._Women__secret()
输出为