问题标签 [access-specifier]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 访问说明符和访问修饰符有什么区别?
在Java中,访问说明符和访问修饰符是一回事吗?
c++ - C++ Is private really private?
I was trying out the validity of private
access specifier in C++. Here goes:
Interface:
Implementation:
I built this in to a static library (.a/.lib). We now have a class_A.h and classA.a (or classA.lib) pair. I edited class_A.h and removed the private:
from it.
Now in another classTester.cpp:
I know that after tampering a library's header all bets are off (I mean, system integrity, etc.) Albeit the method being hacky, is this really allowed? Is there a way to block this? Or am I doing something wrong here?
ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有/受保护的方法?
班上
A的实例
测试
测试输出
.发送测试
.发送输出
问题
标有“测试输出”的部分是预期结果。那么为什么我可以简单地访问私有/受保护的方法Object#send
呢?
也许更重要的是:
Ruby中的public
/ private
/有什么区别?protected
什么时候使用每个?有人可以提供真实世界的示例private
和protected
用法吗?
ruby - "Personal" method in ruby
I'm looking for a way of making a method "personal" - note NOT PRIVATE to a class
here is an example - by "personal" I mean the behaviour of method "foo"
#xA;I'm looking for a way of producing the following behaviour
#xA;ruby - 回应?和受保护的方法
怎么respond_to可能不是那么明显?在红宝石中工作。考虑一下:
所以如果 'obj' 响应 protected_method 我们应该期待
不要引发异常,不是吗?
...但它显然提高了
调用respond_to的文档点?将第二个参数设置为 true 检查私有方法
这要合理得多
所以问题是如何检查对象是否只响应公共方法?有比这更好的解决方案吗?
c++ - C++ 类访问说明符详细程度
“传统” C++ 类(只是一些随机声明)可能类似于以下内容:
如果最初的程序员没有整齐地组织他的“访问区域”,我总是觉得这种访问级别规范很难看并且难以遵循。
查看 Java/C# 风格的相同代码段,我们得到:
在我看来,这在标题中更容易阅读,因为访问说明符就在目标旁边,而不是一堆行之外。我发现在使用没有分成通常的“*.hpp/*.inl”对的仅标题模板代码时尤其如此。在那种情况下,函数实现的规模压倒了这个小而重要的信息。
我的问题很简单,因为我从未见过其他人在他们的 C++ 代码中积极地这样做。
假设我没有支持“类视图”的 IDE,使用这种冗长级别是否有任何明显的缺点?
欢迎任何其他风格的建议!
c++ - 类成员访问说明符和二进制代码
我了解典型的访问说明符是什么,以及它们的含义。'public' 成员可以在任何地方访问,'private' 成员只能由同一个班级和朋友访问,等等。
我想知道的是,如果有的话,这相当于较低级别的术语。它们之间的任何编译后功能差异是否超出了它们所使用的语言(在这种情况下为 c++)所施加的高级限制(什么可以访问什么)。
另一种说法 - 如果这是一个完美的世界,程序员总是做出很好的选择(比如不访问以后可能会更改的成员,并且只使用在实现之间应该保持不变的定义明确的成员),他们是否有任何理由使用这些事物?
delphi - 从 DPR 或 Delphi 中的其他函数/过程访问子函数/过程
据我所知 - 子程序对其父函数/过程具有私有访问模式,对吗?
有什么方法可以从“外部世界”访问它们 - dpr 或单元中的其他功能/程序?
另外-哪种方式需要更多的计算和空间来编译文件?
例如:
ruby - 如何在 Ruby 中创建私有类常量
在 Ruby 中如何创建一个私有类常量?(即在课堂内可见但在课堂外不可见)
ruby - 你应该在 Ruby 中使用 private、protected 和 public 修饰符吗?
我来自更多的 C# 背景,但我在业余时间学习 Ruby。
给定类,可以将它们的方法设为private
, public
(默认)或protected
. 虽然我了解它们的用法,但 Ruby 代码是否通常使用此类修饰符,尽管它是一种动态语言,用户可以轻松地覆盖访问权限?
虽然使用类似Send
允许用户访问私有方法的东西,但我只是想知道关于 Ruby 和访问修饰符的最佳实践是什么?换句话说,我应该在课堂上使用它们吗?