# 面向对象的三大特性之封装 # 第一个层面的封装:类就是麻袋,这本身就是一种封装 # 第二个层面的封装:类中定义私有的,只在类内部使用,外部无法访问 # 约定一:任何以单下划线开头的名字都应该是内部的,私有的 # 约定二:双下划线开头的名字(如__name),外部无法直接访问,因为这种双下划线开头的名字已经被python转化为 _类名__name # 第三个层面的封装:明确区分内外,内部的实现逻辑,外部无法知晓,并且为封装到内部的逻辑提供一个访问接口给外部使用 # 如def getvalue(self): # return self.__name # 对于模块来说,如果在模块里定义了私有属性,通过 from 模块名 improt * 来导入,那么私有的属性是不能导入的# 可以使用 from 模块名 import 属性名,_属性名,__属性名的方式来导入私有的属性
原文地址:https://www.cnblogs.com/dangrui0725/p/9461805.html
时间: 2024-10-07 14:14:03