面向对象有三大特性:封装、继承、多态
- 封装:体现类的可见性
- 继承:体现类的可扩展性
- 多态:体现类的可变性
私有属性和私有方法
在实际开发中,对象的某些
属性
或方法
,希望只在类内部使用
,而不希望在外部被访问到,这时,就可以采用封装
将属性或方法限制在类的内部使用
私有属性
就是对象不希望公开的数据成员
私有方法
就是对象不希望公开的方法
- 定义方式
在定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法
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() # 私有方法,外部不能直接调用
- get / set方法
如果外部代码要获取
__age
属性怎么办?可以给Women
类增加get_age
方法:
class Women():
def get_age(self):
return self.__age
如果外部代码要修改
__age
属性怎么办?可以给Women
类增加set_age
方法
class Women():
def set_age(self, age):
self.__age = age
- end -
网友评论