Python 面向对象程序设计的权限

权限的分类和表示

1、_ 、__ 、和什么都不写的区别

  • _xxx :保护成员,不能用“from module import *”导入,只有类对象和子类对象能访问这些成员。
  • __xxx__ :系统定义的特殊成员。
  • __xxx :类中的私有成员,只有类对象自己可以访问,子类对象也不能访问到这个成员,但在对象外部可以通过“对象名._类名__xxx”这样的特殊方式访问。

在交互模式下,一个下划线“_”表示解释器中最后一次显示的内容或最优化依次语句正确输出的结果。

2、私有权限的访问

    私有属性在类的外部不能直接访问,需要通过调用对象的公有成员方法来访问,或者通过 Python 支持的特殊方法来访问。

  • 通过调用对象的公有成员方法来访问:

可以通过“对象名._类名__xxx”这样的特殊方式访问。

  • 特殊方法:

1)获取类中的私有成员:为类增加 get_attrs() 方法。

def get_value(self):
    return self.__value

2)修改类中的私有成员:为类增加 set_attrs() 方法。

def set_value(self, value):
    self.__value = value

你可能感兴趣的:(Python 面向对象程序设计的权限)