为什么Ruby会为私有属性发出警告
发布时间:2020-12-16 21:10:12 所属栏目:百科 来源:网络整理
导读:以示例类为例: # in ./example.rbclass Example private attr_accessor :nameend 当我以详细模式运行它时,Ruby会向我发出警告: $ruby -W2 ./example.rbexample.rb:3: warning: private attribute? 为什么不推荐这个? 解决方法 因为在大多数情况下定义从外
以示例类为例:
# in ./example.rb class Example private attr_accessor :name end 当我以详细模式运行它时,Ruby会向我发出警告: $ruby -W2 ./example.rb example.rb:3: warning: private attribute? 为什么不推荐这个? 解决方法
因为在大多数情况下定义从外部看不到的getter / setter没有多大意义.我们通常只使用attr_accessor来暴露类外的实例变量.但是,private关键字通过使生成的getter / setter方法对外部世界不可见而破坏了此目的.
您想要使用私有setter / getter的唯一原因是当涉及一些额外的逻辑时.但是,在这种情况下,您无论如何都必须使用def手动定义这些方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |