面向对象的三大特性之封装

# 面向对象的三大特性之封装

# 第一个层面的封装:类就是麻袋,这本身就是一种封装
# 第二个层面的封装:类中定义私有的,只在类内部使用,外部无法访问
# 约定一:任何以单下划线开头的名字都应该是内部的,私有的
# 约定二:双下划线开头的名字(如__name),外部无法直接访问,因为这种双下划线开头的名字已经被python转化为 _类名__name
# 第三个层面的封装:明确区分内外,内部的实现逻辑,外部无法知晓,并且为封装到内部的逻辑提供一个访问接口给外部使用
# 如def getvalue(self):
#     return self.__name

# 对于模块来说,如果在模块里定义了私有属性,通过 from 模块名 improt * 来导入,那么私有的属性是不能导入的
# 可以使用 from 模块名 import 属性名,_属性名,__属性名的方式来导入私有的属性

猜你喜欢

转载自www.cnblogs.com/dangrui0725/p/9461805.html