私有属性和私有方法
私有属性/私有方法
设置私有属性和私有方法的方式非常简单:在属性名和方法名 前面 加上两个下划线 __
即可。
私有方法的定义方式与私有属性基本一致,在方法名的前面添加两个下划线`__方法名()
class Girl():
def __init__(self, name):
self.name = name
self.__age = 18
xiaomei = Girl('小美')
print(xiaomei.name)
print(xiaomei.__age) # 报错,提示Girl对象没有__age属性
类中的私有属性和私有方法,不能被子类继承
如果想要使用是有方法属性,可以定义一个统计的访问函数,专门用于实现私有属性的访问.
在Python中,一般定义函数名’ get_xx ‘用来获取私有属性,定义’ set_xx '用来修改私有属性值。
class Girl():
def __init__(self, name):
self.name = name
self.__age = 18
# 公共方法:提供给外部的访问接口
def get_age(self):
# 本人访问:允许直接访问
# 外人访问:加上限制条件
return self.__age
# 公共方法:提供给外部的设置接口
def set_age(self, age):
self.__age = age
girl = Girl('小美')
girl.set_age(19)
print(girl.get_age())