为了账号安全,请及时绑定邮箱和手机立即绑定

以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问。外部怎么访问

不懂这个意思

正在回答

3 回答

单下划线开头,我做oc开发的时候,这个被定义为私有变量,实际上不推荐外部访问,根据常用的开发规范,任何属性都应该是私有的。需要通过getter和setter方法进行修改,如果没有getter和setter方法那么这个属性一般来说你不需要去改动它。一些复杂的类可能实现了相当复杂的功能,实际情况对我们来说,我们并不需要知道他的内部实现也不需要去触碰他在内部设计的一些属性,这些属性是他在执行某些功能时所必须的。而我们去修改这些属性的行为本身就是很危险的可能会导致类在运行中出现莫名其妙的错误。特别是oc不少类是不开源的,但是通过反射我们可以看到内部有很多属性对外并没有开放。我们也只能靠经验和名称去猜测他的功能,但是去修改他确是很危险的。

0 回复 有任何疑惑可以回复我~

通过类定义的方法访问获取

0 回复 有任何疑惑可以回复我~
class Person:
    def __init__(self,name):
        self._name=name
        
p1=Person('Bob')
print p1._name
直接访问就好,只是不应该这么做


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问。外部怎么访问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信