问题标签 [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 投票
1 回答
1112 浏览

ruby - Send allows access to private variables

Consider the following code:

After I do:

the following is ok:

but this:

results in this:

? Does not make sense for me... can 'send' override Ruby's access checks? Please help!

0 投票
3 回答
16484 浏览

ruby-on-rails - 错误:尝试调用私有方法

来自 C 风格语法的悠久历史,现在正在尝试学习 Ruby(在 Rails 上),我一直在其习语等方面遇到问题,但今天我遇到了一个我没想到会遇到问题的问题并且我看不到必须在我面前的任何东西。

我有一个 Binary 类,它包含一个从路径值派生 URI 值的私有方法(uri 和路径是类的属性)。我self.get_uri_from_path()从内部打电话Binary.upload(),但我得到:

模型的片段如下所示:

我打错电话了吗?我是否错过了其他更基本的东西?唯一Binary.get_uri_from_path()被调用的地方——目前——是Binary.upload()。我希望能够从同一个类中调用私有方法,除非 Ruby 所做的事情与我使用的其他语言明显不同。

谢谢。

0 投票
1 回答
129 浏览

jquery - 如何分层特异性

http://www.smashingmagazine.com/2009/08/17/taming-advanced-css-selectors/的帖子中

在定义“特异性”规则的情况下,说明:

例如,如果你想改变博客上所有 div 元素的背景颜色,你可以使用一个属性选择器来定位每个类属性以“post-”开头的 div:

这将匹配其类属性在任何位置包含单词“posts”的所有 div 元素。

...

我的问题是扩展上面的例子:

** ...更改博客上所有 div 元素的背景颜色,但匿名用户的帖子除外... **

[看起来像什么?]

谢谢

0 投票
1 回答
5426 浏览

ruby - “私有”是否有充分的理由像在 Ruby 中那样工作?

我花了一段时间才理解私有方法在 Ruby 中是如何工作的,这让我觉得非常尴尬。有谁知道私有方法是否有充分的理由按原样处理?仅仅是历史原因吗?还是实施原因?还是有很好的可靠逻辑原因(即语义)?

例如:

  • Ruby 在第 (1)、(2) 和 (5) 行的行为似乎是合理的。
  • (6) 可以的事实有点奇怪,尤其是来自 Java 和 C++。这有什么好的理由吗?
  • 我真的不明白为什么(3)失败了!解释一下,有人吗?
  • 第 (4) 行的问题看起来像是语法中的歧义,与“private”无关。

有任何想法吗?

0 投票
3 回答
19495 浏览

ruby - 如何在 Ruby 中将类构造函数设为私有?

完全不起作用

那么正确的方法是什么?我想new私有化并通过工厂方法调用它。

0 投票
8 回答
21635 浏览

java - 是否可以隐藏或降低对 Java 中继承方法的访问权限?

我有一个类结构,我希望基类中的某些方法可以从直接从基类派生的类访问,而不是从派生类派生的类。根据 Java 语言规范,可以覆盖继承方法的访问规范以使它们更公开,但不能更私有。例如,这是我需要做的事情的要点,但这是非法的:

有没有办法做到这一点?

编辑解释我为什么要这样做:

在这种情况下,类结构是数据处理和导入结构。它读入并解析充满表格数据的文本文件,然后将它们存储在数据库中。

基类是管理其数据库处理部分的基表类。其中包含相当数量的功能,这些功能对所有表类型都是通用的——因为一旦它们在数据库中,它们就会变得统一。

中间类特定于被解析文件中的表类型,具有表解析和导入逻辑。它需要访问一些基类的数据库访问功能。

顶级类是特定于表的,只是以父类可以理解的方式初始化表的布局。此外,基类的用户不需要查看或访问中间类所做的数据库特定功能。本质上,我只想将这些函数展示给基类之上的一层,而不是其他任何一层。

我问是因为,虽然我作为示例发布的代码是非法的,但可能还有其他方法可以达到同样的目的。我问有没有

也许隐藏是错误的表达方式——我真正需要做的是将一些应该对基类私有的功能暴露给层次结构中上一层的类。隐藏可以做到这一点 - 但我可以看到隐藏将是一个问题。还有另一种方法可以做到这一点吗?

0 投票
1 回答
631 浏览

java - 私有 javax.swing.JTextField3; 错误

我非常感谢那些回答我的问题“未找到主要方法错误”的人,在更正所有括号后,代码似乎没问题。在 IDE 上它仍然指示以下错误;

即构建失败,指示上面唯一的错误行,因此,这些是 IDE 的变量声明,无法修改。

主要代码是;

0 投票
6 回答
4863 浏览

c++ - 如何防止派生类公开私有/受保护的虚函数?

将所有虚函数都设置为私有或受保护的基类接口是有充分理由的(请参阅this)。但是,如何防止派生类(可能在外部客户手中)将私有虚函数设为公有?在Virtually Yours中,作者讨论了这个问题,但没有讨论解决方案。

编辑:从你的回答和我之前的想法来看,似乎没有办法阻止这种情况。但是由于在这种情况下很容易出错(客户端肯定会触及受保护的虚函数),因此编译器会警告这种用法是有道理的。我尝试用 g++ 对其进行测试。首先,我写道:

g++ -c -Wall -pedantic file.cpp编译没有错误。添加-Weffc++给出了警告:warning: ‘class A’ has virtual functions and accessible non-virtual destructor,这是有道理的。添加虚拟析构函数后,没有任何警告。因此,对于这种容易出错的情况,没有任何警告。

0 投票
5 回答
81459 浏览

c++ - Private virtual method in C++

What is the advantage of making a private method virtual in C++?

I have noticed this in an open source C++ project:

#xA;
0 投票
3 回答
5183 浏览

ruby - 在运行时将实例方法设为私有

在另一个对象中注册该对象后,我需要将一些实例方法设为私有。

我不想冻结对象,因为它必须保持可编辑状态,只是功能较少。而且我不想取消定义这些方法,因为它们是在内部使用的。

我需要的是这样的:

有任何想法吗?