|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
类的封装中,有教学视频中说,改变某个对象对应的属性名就可以隐藏对象的属性,在通过getter方法调用和setter方法修改名字就可以避免数据的安全性,避免被修改。
但是,换一个属性名字并不影响直接对对象的修改啊。。。那以上那些很复杂的一堆函数有什么作用呢?
- class Dog:
- '''
- 传说中,改变属性名就可以隐藏属性
- '''
- def __init__(self,name):
- self.hidden_name = name
- def say(self):
- print('大家好,我是%s'%self.hidden_name)
- def get_name(self): # 用getter方法才能调用属性名
- return self.hidden_name
- def set_name(self,name):
- self.hidden_name = name # 用setter方法才能修改属性名
-
- D1 = Dog('xiaohei')
- print(D1.get_name())
- #但是,我完全可以直接修改啊。。。,例如:
- D1 = Dog('xiaobai')
- D1.say()
- #再或者:
- D1.hidden_name = 'xiaobai'
复制代码
这两个是类的默认方法,
你那个是自己定义的,虽然实现的结果是一样
|
|