问题标签 [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.
ruby - 有没有办法从 Ruby 中的实例调用私有类方法?
self.class.send :method, args...
当然,除此之外。我想在类和实例级别都提供一个相当复杂的方法,而无需复制代码。
更新:
@Jonathan Branam:这是我的假设,但我想确保没有其他人找到解决方法。Ruby 中的可见性与 Java 中的可见性非常不同。您也很正确,private
它不适用于类方法,尽管这将声明一个私有类方法:
ruby - Ruby 中的私有模块方法
我有一个两部分的问题
最佳实践
- 我有一个算法,它使用公共接口对数据结构执行一些操作
- 它目前是一个具有许多静态方法的模块,除了一个公共接口方法外,都是私有的。
- 有一个实例变量需要在所有方法之间共享。
这些是我可以看到的选项,哪个是最好的?:
- 具有静态(ruby 中的“模块”)方法的模块
- 具有静态方法的类
- 用于包含在数据结构中的Mixin模块
- 重构修改该数据结构(非常小)的算法部分,并使其成为调用算法模块的静态方法的混合
技术部分
有什么方法可以制作私有 Module 方法吗?
private
那里似乎没有任何效果,我仍然可以Thing.priv
毫无问题地打电话。
oop - 使用其对象(实例)访问类的私有成员变量
这是一个 VB.NET 代码片段
我认为我们不能使用对象访问私有成员,但也许 CLR 允许我们这样做。这意味着访问修饰符基于类型而不是该类型的实例。我还听说c ++也允许这样做..
任何猜测可能是什么原因?
编辑:
我认为 RoBorg 给出的 msdn 链接中的这一行解释了这种行为“声明私有元素的类型中的代码,包括包含类型中的代码,可以访问该元素”
ruby - 从 Ruby 中的类方法调用私有实例方法
我可以创建一个可以被类方法调用的私有实例方法吗?
抱歉,如果这是一个非常基本的问题,但我无法通过谷歌搜索找到解决方案。
java - Java中的接口:不能使实现的方法受保护或私有
我知道接口必须是公共的。但是,我不希望那样。
我希望我实现的方法只能从他们自己的包中访问,所以我希望我实现的方法受到保护。
问题是我无法保护接口或实现的方法。
什么是解决方法?是否有与此问题相关的设计模式?
从 Java 指南来看,抽象类也无法完成这项工作。
c++ - 私有继承、公有继承和受保护继承之间的区别
C++
public
中的、private
和protected
继承 有什么区别?
我在 SO 上发现的所有问题都涉及特定案例。
ruby - Ruby 方法 instance_eval() 和 send() 不会否定私有可见性的好处吗?
查看上面与 Widget 类相关的示例(如下), send 和 instance_eval 方法违反了私有和受保护可见性提供的所有保护。如果是这样,为什么还要在 Ruby 中使用私有和受保护的访问,因为不能保证您的定义会被尊重?
ruby - Ruby中的私有/受保护块?
Ruby 似乎没有像这样定义受保护/私有块的工具:
相比之下,这会很好
您可能会忘记在受保护的方法之后“公开”。
似乎可以使用元编程来实现这一点。有什么想法吗?
c++ - 为什么虚函数是私有的?
我刚刚在一些代码中发现了这一点:
这有什么目的吗?
(我正在尝试将一些代码从 VS 移植到 G++,这引起了我的注意)