如果一个variables声明为public static varName; ,那么我可以从任何地方访问它作为ClassName.varName 。 我也知道,静态成员是由一个类的所有实例共享,并不是在每个实例重新分配。 声明一个variables为private static varName; 与声明一个variablesprivate varName; ? 在这两种情况下,都不能以ClassName.varNameforms访问,也不能以任何其他类的forms访问ClassInstance.varName 。 将静态variables声明为其他特殊属性吗?
在Ruby中使用标准的Ruby Test::Unit框架来testing受保护和私有方法的最佳方式是什么? 我敢肯定,有人会提出并教条主张“你只应该unit testing公共方法;如果需要unit testing,它不应该是一个保护或私人方法”,但我没有真正有兴趣辩论。 我有几个保护或私有的方法,由于良好和有效的原因,这些私有/受保护的方法是相当复杂的,并且类中的公共方法依赖于这些保护/私有方法正常运行,因此我需要一种方法来testing受保护/私有方法。 还有一件事…我通常把给定类的所有方法放在一个文件中,单元在另一个文件中testing这个类。 理想情况下,为了保持主源文件尽可能简单直接,我希望所有的魔法都能将这个“受保护和私有方法的unit testing”function实现到unit testing文件中,而不是主要的源文件中。
在Java中,在制定class和interface以及处理inheritance时,是否明确规定何时使用每个访问修饰符,即默认(package private), public , protected和private ?
我想有一个私有的静态数据成员(包含所有字符az的向量)的类。 在java或C#中,我可以创build一个“静态构造函数”,它将在我创build类的任何实例之前运行,并设置类的静态数据成员。 它只运行一次(因为variables是只读的,只需要设置一次),因为它是类的函数,它可以访问其私有成员。 我可以在构造函数中添加代码,以检查向量是否已初始化,如果不是,则会初始化代码,但引入了许多必要的检查,看起来并不是问题的最佳解决scheme。 我想到,由于variables是只读的,所以它们可以是公共的静态常量,所以我可以在课堂以外设置它们,但是再一次,它看起来有点像一个丑陋的黑客。 如果我不想在实例构造函数中初始化它们,是否有可能在类中有私有静态数据成员?
将析构函数作为私有的用途是什么?
我想创build一个不能从外部访问的实例variables。 在objective-c中有这样的可能吗? 我记得苹果有私人变数和类似的东西,但如果人们知道他们,他们可以使用它们。 苹果称之为“私人API”,但显然其他人可以访问那些东西,如果他们发现那里的东西。 直到现在我相信像这样的东西创build一个私人实例variables: @interface MyClass : NSObject { CGFloat weight; } 没有@property,没有@synthesize,只是上面的声明。 另外我知道苹果增加了一个_inFrontOfTheirPrivateInstanceVariables,但他们说某处他们不喜欢看到其他人这样做,因为他们可能会覆盖意外隐藏的实例variables。 这里有什么窍门?
根据http://www.faqs.org/docs/diveintopython/fileinfo_private.html : 像大多数语言一样,Python具有私有元素的概念: 私有函数,不能从模块外调用 但是,如果我定义了两个文件: #a.py __num=1 和: #b.py import a print a.__num 当我运行b.py它打印出1没有任何例外。 diveintopython错了,还是我误解了一些东西? 有没有办法做一个模块的function定义为私人?
我知道,Python中没有“真正的”private / protected方法。 这种方法不是隐藏任何东西,我只是想了解Python的function。 class Parent(object): def _protected(self): pass def __private(self): pass class Child(Parent): def foo(self): self._protected() # This works def bar(self): self.__private() # This doesn't work, I get a AttributeError: # 'Child' object has no attribute '_Child__private' 那么,这种行为是否意味着“受保护的”方法将会被inheritance,但是“私有的”方法将不会被inheritance? 还是我错过了什么?
我想知道如何在c源文件中使用openssl liberary生成RSA私钥? 我知道如何使用terminal命令生成它。 其实我的server.c文件将生成一个私钥并发送到client.c请尽可能帮助我一些源代码,否则任何帮助将不胜感激。 我正在使用Linux机器。
我对访问修饰符在inheritance方面的含义感到困惑。 涉及private , protected和public关键字的inheritance有什么区别?