access-specifier相关内容
我正在寻找一种使方法成为“个人”方法的方法-注意班级不是私人的 这是一个示例-“个人”是指方法“ foo”的行为 class A def foo “ foo” 结束 结束 B类
..
在回答一个问题时,有一个讨论线程在我的答案下面。这表明取决于访问说明符(或可能是继承的类型) private / protected / public sizeof class 对象可能有所不同! 从他们的简短讨论中我仍然不明白,这怎么可能? 解决方案 请注意以下C ++ 11的新语言 在C ++ 03 中,有一种语言使之成为可能,即9.2 [class.mem] / 12(强
..
我们可以在python中模拟私有和受保护的访问说明符吗? 名称修改 例如: __ var = 10 可以模拟私有,但可以通过对象轻松地在外部访问。 object._className__var 那么有没有一种方法可以模拟或使用python直接解决我不知道的解决方案? 解决方案 Python没有像您惯用的其他语言那样具有强
..
在Java中,我们有四个访问说明符: public , protected ,package-private(默认)和私人。这是好 已知 我的问题是关于受保护的$code的命名。如此处的表所示,为字段提供了默认的package-private访问说明,以防止使用包外部的子类它,但应用 protected 关键字实际上并不能对其进行保护–相反,它向任何包的子类开放。 所以,为什么不保护
..
在另一个对象中注册该对象后,我需要将一些实例方法设为私有。 我不想冻结该对象,因为该对象必须保持可编辑状态,并且功能较少。而且我不想取消定义方法,因为它们在内部使用。 我需要的是这样的东西: class MyClass def my_method 放置“ Hello” end end a = MyClass.new b = MyClass.new
..
除了 self.class.send之外:方法,参数... 当然。我想在类和实例级别上提供一个相当复杂的方法,而不必复制代码。 更新: @Jonathan Branam:这是我的假设,但我想确保没有其他人找到解决方法。 Ruby中的可见性与Java中的可见性非常不同。您也很正确, private 不适用于类方法,尽管这会声明一个私有类方法: Foo 类
..
在Ruby类定义中声明 private / 受保护的时,实际上发生了什么?它们不是关键字,因此暗示它们必须是方法调用,但我找不到它们在哪里定义。他们似乎没有记录在案。声明私有 / 受保护的方法(如下所示)的两种不同方式是否实现不同? (第二种方法显然是方法调用,但是在第一种方法中并没有那么明显。) class Foo private def i_am_private;结束 def
..
想知道,我们何时应该为模型中的某些方法实际使用 private 或 protected ? p> 有时我不会被我的方法归类为 private 或 protected 。我只是保持原样。但是我知道这一定是一个坏习惯,否则这两个分组将不会在编程中创建。 谢谢。 解决方案 如果您打算从外部调用方法,请 record.method(),然后“ public” 如果仅在内部使用,则
..
在Ruby中,如何创建一个私有类常量? (即在班级内部可见但在班级外部不可见) 班级人员 SECRET =' xxx'#如何设置班级私有?? def show_secret 放置“秘密:#{SECRET}” 结束 结束 Person.new.show_secret 放置Person :: SECRET#我想让此方法失败 解决方案 您也可以将常量更改为类方
..
w = Widget.new#创建一个小部件 w.send:utility_method#调用私有方法! w.instance_eval {utility_method}#另一种调用方法 w.instance_eval {@x}#读取w的实例变量 看上面与Widget类相关的示例(如下),send和instance_eval方法违反了私有可见性和受保护可见性提供的所有保护
..
所以我在DLL中有一个抽象基类,并且该类具有子类。我希望孩子是公开的,但希望基地是私有的,以便不能在dll之外访问它。 我该怎么做? 解决方案 您不可以,也不能。 如果要将类公开为 public ,基本类型必须必须为 public 。另一种选择是拥有公共接口,并且仅通过接口公开类型(大概是使用工厂方法) 最后一个选择是封装基类,而不是继承它。
..
我们都知道,如果不专门定义构造函数,则编译器会插入一个不可见的零参数构造函数。我以为它的访问修饰符是公共的,但是在处理内部类问题时,我发现我可能是错的。这是我的代码: 公共类外部{ 保护类ProtectedInner { //添加公共构造函数将解决SubOuterInAnotherPackage类中的错误 // public ProtectedInner(){} } }
..
给出一个带有几个实例变量和一些方法的类。可以通过 attr_reader 和 attr_accessor 设置一些实例变量的访问权限。 一些私有实例变量在一个实例方法中设置并在另一个方法中读取/利用。 为了进行测试,我使用了RSpec。由于我还是Ruby的新手,并且想让所有事情都做对,因此我定义了相当精细的测试。因此,对于每个实例方法,我都有一个 describe 块,它们本身被划分为
..
我正在学习Ruby,结果使我感到困惑。 我正在使用的书是在谈论私有,公共和受保护的方法,但我仍然有些困惑。两者之间有什么区别? 解决方案 公共-可以在任何地方调用 私有-无法在类范围之外调用该方法。对象只能将消息发送给自己 例如:面包师将 bake 方法设置为公开,但 break_eggs 是私有的 受保护的-只要默认对象可以调用对象的受保护方法 self 是与您要
..
如果仍无法在包含类的外部访问该私有内部类的成员,则在Java中声明该成员的原因是什么? 公共类DataStructure { // ... private class InnerEvenIterator { // ... public boolean hasNext(){//为什么公开? // ... } } } 解决方案 如果 InnerEve
..
我有一个两部分的问题 最佳实践 我有一种算法,可以使用公共接口对数据结构执行某些操作 当前它是一个具有许多静态方法的模块,除了一个公共方法外,所有方法都是私有的接口方法。 所有方法之间都需要共享一个实例变量。 这些是我能看到的最好的选项: Module with static(' 具有静态方法的类 Class Mixin 包含模块进入数据结构 重构,将算法的一部分
..
这种创建私有类方法的方法是如何工作的: class Person def self.get_name personsname end class引发“
..
类示例 私人 def example_test 放置'Hello' 结束 结束 e = Example.new e.example_test 这当然是行不通的,因为我们指定的显式接收者-Example( e )的实例,并且违反了“私有规则”。 但是我不明白,为什么不能在Ruby中做到这一点: class Foo def public_m s
..
我刚开始读一本Java书籍,就纳闷了。 解决方案 默认的可见性称为“ package-private”(尽管您不能明确地使用它),这意味着可以从该类所属的同一包内部访问该字段。 如mdma所指出的那样,不过,对于接口成员而言,它不是真的,默认值为“ public”。 请参见 Java的访问说明
..
我一直在浏览最近的swift文档,并研究了一些示例来了解swift4中的private和fileprivate关键字。我试图在同一个类的扩展名中访问fileprivate和private变量,而另一个类对该类进行了子类化,但是输出没有成果。我以以下方式使用 类privateUsageExample:UIViewController { private var priVar = false
..