问题标签 [private]

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 投票
4 回答
7020 浏览

java - Java:访问修饰符比“受保护”更严格,比“私人”限制更少?

我想要类似于 的东西protected,其中只有实现该protected字段的类及其子类的任何内容都可以访问它。

所以,我希望能够将基类中的变量声明为private,但仍然能够从子类中访问它。

也许这违背了子类化的本质private,和/或protected

Java中是否存在类似的东西?

0 投票
22 回答
360065 浏览

java - 私有最终静态属性与私有最终属性

在Java中,有什么区别:

两者都是privatefinal,区别在于static属性。

什么更好?为什么?

0 投票
1 回答
1200 浏览

c++ - 在类中的私有块之后,Doxygen 无法在公共块上工作

如何告诉 Doxygen 在(C++)类中的私有部分之后记录公共部分?

例如

即使没有第一个公共部分,第二个公共部分仍然没有记录。

doxylog.txt 报告:

警告:未声明或定义记录的函数“Brg::undocumentedFunction1”

0 投票
5 回答
176 浏览

web - 如何将网站设为私有?

我只是在闲逛,学习 Web 开发的来龙去脉,我想将我的域设为私有,直到我准备好展示它。

最好的方法是什么?

顺便说一句,我在 Debian 上有一个 Apache 服务器。

0 投票
2 回答
384 浏览

interface - ATL/COM:定义一个在 DLL 之外不可用的 COM 接口?

我有一个使用 VC++ 6.0 制作的基于 ATL/COM 的 DLL。它用于使用 VB6 构建的各种可执行文件。

我想添加一些无法通过 VB6 访问的 COM 接口,仅供 DLL 内部使用。我希望它们是 COM 接口而不仅仅是 C++ 接口,因为我将在我只有 COM 接口引用的对象上使用它们(在使用时)。

也就是说,我不知道(在使用时)这个指针指向一个 CFoo;我只知道它指向一个 IFoo,其中 IFoo 是一个 COM 接口,发布以便 VB6 知道它。从这个 IFoo 指针,我想得到一个 IFooInternal 指针,每个实现 IFoo 的类(不仅仅是 CFoo)都将实现它。此外,我不希望 IFooInternal 可以在 DLL 本身之外访问;例如,我不希望 VB6 可以访问 IFooInternal。

对此的任何帮助将不胜感激。对于实现相同总体目标的替代方法的建议也是如此。提前致谢。

0 投票
12 回答
5792 浏览

c# - 单元测试私有代码

我目前正在使用 C# 进行开发-这里有一些背景:我们使用客户端应用程序实现 MVP,并且我们有一个圈规则,规定任何方法的圈复杂度都不应大于 5。这导致了很多小的私有方法它们通常负责一件事。

我的问题是关于单元测试一个类:

通过公共方法测试私有实现一切都很好......我实现这个没有问题。

但是......以下情况呢:

示例 1.处理异步数据检索请求的结果(回调方法不应该纯粹为了测试而公开)

示例 2.执行操作的事件处理程序(例如更新视图标签的文本 - 我知道的愚蠢示例......)

示例 3.您正在使用第三方框架,该框架允许您通过覆盖受保护的虚拟方法进行扩展(从公共方法到这些虚拟方法的路径通常被视为黑盒编程,并且将具有框架提供的各种依赖项你不想知道)

在我看来,上面的例子并不是设计不佳的结果。它们似乎也不适合转移到单独的类进行单独测试,因为这些方法将失去它们的上下文。

有人对此有任何想法吗?

干杯,杰森

编辑: 我认为我最初的问题不够清楚 - 我可以使用访问器测试私有方法并使用 TypeMock 模拟调用/方法。那不是问题。问题是测试不需要公开或不能公开的东西。

我不想为了测试而公开代码,因为它可能会引入安全漏洞(只发布一个接口来隐藏它不是一种选择,因为任何人都可以将对象转换回其原始类型并访问我的东西不希望他们这样做)

重构到另一个类进行测试的代码很好 - 但可能会丢失上下文。我一直认为拥有“帮助器”类是不好的做法,它可以包含一堆没有特定上下文的代码——(在这里考虑 SRP)。我真的认为这也不适用于事件处理程序。

我很高兴被证明是错误的——我只是不确定如何测试这个功能!我一直认为,如果它可以破坏或改变 - 测试它。

干杯,杰森

0 投票
6 回答
929 浏览

c++ - 我可以在 C++ 中转换对象并访问私有数据成员吗?

我想访问一个类中的私有数据成员。类中没有访问私有数据成员的成员函数。它是私人的。

我想上课和一些如何破解它。一种方法是复制类的声明,将私有成员设为公有并调用新类类 something_else。然后我重新解释演员并复制原始对象。这行得通。但我想要更优雅的东西......或者可能是通用的......或者只是另一种方式。

有哪些选择?我可以使用 void* 吗?我可以把这个班级memcpy到另一个空班吗?有什么方法可以做到这一点?

%

0 投票
5 回答
344 浏览

c++ - 其他人使用的头类文件

我想知道是否有办法只将受保护和公共的东西放在头文件 .h 中,并将所有私有的东西放在编译单元 .cpp 我需要这个,因为该库将被其他人使用,我不想复制和编辑所有 .h 文件来删除私有声明和实现。我试过但得到了重复的声明错误

另一个问题是关于私有静态的东西我可以在头文件中声明它们并在 .cpp 单元上实现它们吗?我尝试了一个私有变量和一个公共 get 方法,但无法在单元上实现该方法,它仅适用于标头上的声明和实现

[]s,乔

0 投票
4 回答
3138 浏览

mercurial - 是否可以在 Google Code 上设置私有 Mercurial 存储库?

我喜欢 Google Code 是 Mercurial 托管的免费选项,但是在我设置的测试项目中,我找不到将存储库指定为private的方法。

理想情况下,我想私下从事一个项目,直到它准备好让全世界看到,然后才向其他人开放。

有没有办法在谷歌代码上做到这一点?

0 投票
9 回答
286157 浏览

python - 在 python 中定义私有模块函数

根据http://www.faqs.org/docs/diveintopython/fileinfo_private.html

像大多数语言一样,Python 有私有元素的概念:

  • 私有函数,不能 从其模块外部调用

但是,如果我定义两个文件:

和:

当我运行b.py它时,它会打印出来,1没有任何异常。是diveintopython错了,还是我误解了什么?有没有办法将模块的功能定义为私有的?