青海网站开发,wordpress更新会改变设置,竞价网,做网商要创建网站吗封装的概念 封装#xff08;Encapsulation#xff09; 隐藏#xff1a;属性和实现细节#xff0c;不允许外部直接访问暴露#xff1a;公开方法#xff0c;实现对内部信息的操作和访问
封装的作用
限制安全的访问和操作#xff0c;提高数据安全性可进行数据检查#x…
封装的概念 封装Encapsulation 隐藏属性和实现细节不允许外部直接访问暴露公开方法实现对内部信息的操作和访问
封装的作用
限制安全的访问和操作提高数据安全性可进行数据检查从而有利于保证对象信息的完整性
封装的实现隐藏 保护属性_属性名 私有属性__属性名 被视作 _类名__属性名
class Account:# 普通属性bank BOC# 内部属性_username Hogwarts# 私有属性__password 888# 通过类名访问类属性
print(Account.bank) # 将会打印 BOC
print(Account._username) # 将会打印 Hogwarts
print(Account.__password) # 将会引发 AttributeErrorprint(Account.__dict__)# 实例化
obj Account()# 实例访问类属性
print(obj.bank) # 将会打印 BOC
print(obj._username) # 将会打印 Hogwarts
print(obj.__username) # 将会引发AttributeError封装的实现暴露 提供数据访问功能getter 计算属性语法使用property装饰器调用实例.方法名
class Account:# 普通属性bank BOC# 内部属性_username Hogwarts# 私有属性__password 888propertydef password(self):return self.__password# 实例化对象
obj Account()# 访问实例的私有属性
print(obj.password) # 将会打印 888封装的实现暴露 提供数据操作功能setter 语法使用计算属性名.setter装饰器调用实例.方法名
class Account:# 普通属性bank BOC# 内部属性_username Hogwarts# 私有属性__password 888propertydef password(self):return self.__passwordpassword.setterdef password(self, value):# 增加数据的校验if len(value) 8:self.__password valueelse:print(密码长度最少要有8位)# 实例化对象
obj Account()# 修改私有属性满足校验条件
obj.password hogwarts666 # 修改成功
print(obj.password) # 将会打印 hogwarts666# 修改私有属性不满足校验条件
obj.password 123 # 修改不会生效
print(obj.password) # 将会打印 888最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你