29得票7回答
私有方法优于公共方法

我正在研究 StringTokenizer.java 类,脑海中浮现出一些问题。 我注意到这些供其他类使用的公共方法调用了某些私有方法来完成所有工作。现在,我知道面向对象设计的原则之一是尽可能将许多内容设为私有并隐藏所有实现细节。但我不确定完全理解其中的逻辑。 我明白将字段设为私有很重要,...

27得票2回答
在一个非const对象上,为什么C++不会调用具有公共const和私有非const重载的成员函数的const版本?

class C { public: void foo() const {} private: void foo() {} }; int main() { C c; c.foo(); } MSVC 2013 不喜欢这个: > error C2248:...

25得票2回答
S4参考类是否有声明公共和私有方法的方法?

请注意:我知道R是一种函数式语言,所以请不要咬我;-) 对于我的许多程序,采用面向对象编程方法给我带来了很好的体验。现在,我想知道在R中使用S4 Reference Classes时是否有办法区分公共方法和私有方法? 示例 类定义 setRefClass("B", field=...

24得票1回答
为什么要在JavaScript对象中使用公共方法?

我是工作中一个小研究组的一员,正在试图更好地理解JavaScript的工作原理。在我们最近关于对象的讨论中,我们了解到一个对象的公共方法在每次实例化对象时都会重新创建,而分配给对象原型的方法只会被创建一次并继承所有实例。据我所知,公共方法和分配给原型的方法都是公开可访问的。 那么我想问的问题...

23得票11回答
为什么我们不能在公共方法中使用断言?

为什么我们不能在公共方法中使用断言? 我曾在某处阅读过: "在公共方法中,assert 不合适,因为该方法保证始终执行参数检查。无论是否启用断言,公共方法都必须检查其参数。此外,断言结构不会抛出指定类型的异常,它只能抛出 AssertionError。" 那么,这对私有方法也适用...

20得票5回答
公共静态工厂方法

首先,如果我的问题太蠢,请原谅我。我只是想全面学习这门语言。我正在阅读《Effective Java》,第一章讲述了静态工厂方法与构造函数之间的优缺点。有几件事情让我感到困惑: 由静态工厂方法返回的对象的类是非公共的——这具体是什么意思? 与构造函数不同,调用静态工厂方法时不需要每次创建一...

16得票4回答
如何从*.dll文件中检索所有公共方法

我有一个用C#编写的*.dll文件,需要获取该*.dll文件中包含的所有公共方法或类的列表。是否可以使用C#编程以编程方式完成此操作?

12得票4回答
Smalltalk公共方法与私有/受保护方法

我注意到Smalltalk语言没有私有/受保护方法的概念。所有方法都是公共的。作为一个Java/C++背景的人,我认为这是一种根本性的弱点,因为任何在Smalltalk中创建的应用程序都可以完全被操纵。我猜你可以依靠命名约定来记录公共API,并在方法前缀中指示它们为私有(我相信Squeak就是...

12得票5回答
一个空类的默认构造函数是公共的。但是为什么?

我有一个简单的问题:class my { }; my ob; 编译器允许我创建有意义的对象。但是,我知道当构造函数为私有时,无法创建对象。 在我的看来,类内的所有内容都是 private ,但显然不包括默认构造函数(因为它允许我按照默认构造函数的方式创建对象,应该是 public 的)。但令...

10得票8回答
能否通过FindBugs检测未使用的公共方法?

使用FindBugs检测源代码树中未使用的方法是否可能?我在Stack Overflow上看到有些用户声称可以这样做,还有一些人询问如何在FB中执行此操作,以及其他人声称FB无法执行此操作。 有没有人确切知道如何进行此操作?我只关心未从其他地方显式调用的方法,不关心反射。