一 封装
如何隐藏对象中的属性 python的做法 将对象的名 修改为一个外部不知道的名字
class Person:
def __init__(self,name):
self.hidden_name name
def say_hello(self):
print( hello ,I m %s %self.hidden_name)
p Person( major )
p.name major2
p.say_hello()
如何修改隐藏的对象的属性 需要提供getter和setter方法可以访问属性
使用了封装 增加了类的复杂程度 但是增加了数据的安全性
1.隐藏了属性名 使用者无法随意修改对象中的属性
2.增加了set,get方法 很好控制了属性是否是只读 去掉set方法 可以设置为只读
3.增加了可验证操作 在set中
4.使用get,set方法 在读取和设置属性时 可以进行一些其他想加入的处理
class Person:
def __init__(self,name):
self.hidden_name name
def say_hello(self):
print( hello ,I m %s %self.hidden_name)
def get_name(self):
print( 用户读取了属性 )
return self.hidden_name
def set_name(self,name):
// 可对name进行验证 或者预处理等操作
print( 用户设置了属性 )
self.hidden_name name