问题标签 [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.

0 投票
9 回答
67290 浏览

java - 访问说明符和访问修饰符有什么区别?

在Java中,访问说明符访问修饰符是一回事吗?

0 投票
9 回答
1661 浏览

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?

0 投票
1 回答
1110 浏览

ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有/受保护的方法?

班上

A的实例

测试

测试输出

.发送测试

.发送输出

问题

标有“测试输出”的部分是预期结果。那么为什么我可以简单地访问私有/受保护的方法Object#send呢?

也许更重要的是:

Ruby中的public/ private/有什么区别?protected什么时候使用每个?有人可以提供真实世界的示例privateprotected用法吗?

0 投票
6 回答
1218 浏览

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;
0 投票
2 回答
6760 浏览

ruby - 回应?和受保护的方法

怎么respond_to可能不是那么明显?在红宝石中工作。考虑一下:

所以如果 'obj' 响应 protected_method 我们应该期待

不要引发异常,不是吗?

...但它显然提高了

调用respond_to的文档点?将第二个参数设置为 true 检查私有方法

这要合理得多

所以问题是如何检查对象是否只响应公共方法?有比这更好的解决方案吗?

0 投票
5 回答
716 浏览

c++ - C++ 类访问说明符详细程度

“传统” C++ 类(只是一些随机声明)可能类似于以下内容:

如果最初的程序员没有整齐地组织他的“访问区域”,我总是觉得这种访问级别规范很难看并且难以遵循。


查看 Java/C# 风格的相同代码段,我们得到:

在我看来,这在标题中更容易阅读,因为访问说明符就在目标旁边,而不是一堆行之外。我发现在使用没有分成通常的“*.hpp/*.inl”对的仅标题模板代码时尤其如此。在那种情况下,函数实现的规模压倒了这个小而重要的信息。


我的问题很简单,因为我从未见过其他人在他们的 C++ 代码中积极地这样做。

假设我没有支持“类视图”的 IDE,使用这种冗长级别是否有任何明显的缺点?

欢迎任何其他风格的建议!

0 投票
5 回答
1034 浏览

c++ - 类成员访问说明符和二进制代码

我了解典型的访问说明符是什么,以及它们的含义。'public' 成员可以在任何地方访问,'private' 成员只能由同一个班级和朋友访问,等等。

我想知道的是,如果有的话,这相当于较低级别的术语。它们之间的任何编译后功能差异是否超出了它们所使用的语言(在这种情况下为 c++)所施加的高级限制(什么可以访问什么)。

另一种说法 - 如果这是一个完美的世界,程序员总是做出很好的选择(比如不访问以后可能会更改的成员,并且只使用在实现之间应该保持不变的定义明确的成员),他们是否有任何理由使用这些事物?

0 投票
4 回答
2416 浏览

delphi - 从 DPR 或 Delphi 中的其他函数/过程访问子函数/过程

据我所知 - 子程序对其父函数/过程具有私有访问模式,对吗?

有什么方法可以从“外部世界”访问它们 - dpr 或单元中的其他功能/程序?

另外-哪种方式需要更多的计算和空间来编译文件?

例如:

0 投票
4 回答
16541 浏览

ruby - 如何在 Ruby 中创建私有类常量

在 Ruby 中如何创建一个私有类常量?(即在课堂内可见但在课堂外不可见)

0 投票
3 回答
2302 浏览

ruby - 你应该在 Ruby 中使用 private、protected 和 public 修饰符吗?

我来自更多的 C# 背景,但我在业余时间学习 Ruby。

给定类,可以将它们的方法设为private, public(默认)或protected. 虽然我了解它们的用法,但 Ruby 代码是否通常使用此类修饰符,尽管它是一种动态语言,用户可以轻松地覆盖访问权限?

虽然使用类似Send允许用户访问私有方法的东西,但我只是想知道关于 Ruby 和访问修饰符的最佳实践是什么?换句话说,我应该在课堂上使用它们吗?