1、封装为了隐藏属性或方法
2、封装的方法:1、改一个别人不知道的名字如 hidden_name = name 2、使用 ‘__’ ,如 __name python解释器会处理成
_类名__name 但是外部无法通过 __name 访问到,3、通常使用 _name 提示别人此处不希望被访问。
3、可以在类中定义 getter与setter 方法让别人访问,好处时在方法中可以1、控制属性是否只读,2、对输入的数据进行合法性验证,3、进行其他操作,如计算。
class Dog(): def __init__(self,name,age): self.hidden_name = name self.hidden_age = age def speak(self): print('大家好,我是%s'%self.hidden_name) # get_name(self) 获取对象中指定的属性(get_属性名) def get_name(self): # get_name(self)用来获取对象的name属性 print('get_name执行了') return self.hidden_name # set_name(self,..): 用来设置对象中指定的属性值(set_属性名) def set_name(self,name): print('set_name执行了') self.hidden_name = name def get_age(self): return self.hidden_age def set_age(self,age): if age > 0: self.hidden_age = age d = Dog('二哈',5) # d.hidden_name = '德牧' # 调用setter来修改name属性值 d.set_name('德牧') d.set_age(8) print(d.get_age()) # d.speak()