问题标签 [private-members]

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 投票
2 回答
597 浏览

c++ - 在 C++ 中,向一个类添加一个朋友会改变它的内存布局吗?

另外,在课堂上的哪个位置声明朋友是否重要?添加朋友类或朋友功能是否重要?

0 投票
4 回答
1375 浏览

vb.net - 私有变量实例化:何时定义或在构造函数内?

我不知道以前是否有人问过这个问题,但我们今天在我的工作中讨论了这个问题。私有变量(共享/静态)是否应该在它们被标注/定义时被实例化,或者在构造函数中这样做是更好的做法?

例如,这对我来说似乎很好......

但是其他人告诉我应该这样做......

有什么不同?对于使用哪一个有共同的共识吗?

0 投票
2 回答
3548 浏览

c++ - C ++从静态成员函数更改私有成员变量

在阅读我的代码时,我注意到我有一个静态成员函数,它通过指向所述类的实例的指针来更改其类的私有成员。

它可以毫无问题地编译和运行,但我只是想知道以这种方式从成员但静态函数编辑私有变量是否符合规定,或者我是否应该实现公共 setVar 函数。

请注意,我并不是试图通过编辑静态函数中的成员变量来绕过标准编码实践——该函数必须是静态的,因此它可以使用 POSIX pthread 库作为线程运行。

干杯,怀亚特

0 投票
4 回答
5700 浏览

c# - 如何实例化内部私有类的 PrivateType

我试图为私有内部类设置单元测试,但收效甚微:

我试过这段代码:

无济于事。

程序集的名称是“Stats.Model”,对我来说类型名称看起来也正确,但我只是得到一个异常:“System.TypeLoadException:无法加载类型”

那么我做错了什么?

据我所知,PrivateType 是基于反射的,我猜它几乎适用于这种情况,因为您不能在命名空间下直接拥有私有类。

编辑:

添加了 DailyStatKey 的完整实现。我要测试的是我的 GetHashCode 方法的唯一性。如您所见,我尝试将日期 + 类型放入单个 int 中。

0 投票
1 回答
158 浏览

javascript - Javascript:我应该隐藏我的实现吗?

作为一名 C# 程序员,我有点习惯将可以而且应该是私有的东西设为私有,当 JS 类型将其所有私有部分暴露给我时,我总是有一种奇怪的感觉(而且这种感觉并没有被“激发” )。假设我有一个类型,它有一个draw方法,它在内部调用drawBackgroundand drawForeground,单独调用是没有意义的。我应该如何实现这个?

选项1

选项 2

当然,不同之处在于,在第一个示例中,drawBackgroundanddrawForeground方法是公共 API 的一部分,而在第二个示例中它们是隐藏在外部的。这是可取的吗?我应该更喜欢哪一个?将我的 C# 习惯应用到 Javascript 是否是错误的,我是否应该在 Javascript 中使所有内容都可扩展和覆盖?的性能影响是.call(this)什么?

0 投票
3 回答
928 浏览

c# - 在 C# 中将变量声明为“私有”是否可以保护 Windows 中的内存不被内存扫描程序访问?

我的同事总是告诉我,如果我们将任何内容声明为“公共”,那么这很危险,因为任何程序都可以访问该内存,并且解决方案是使用“私有”访问修饰符。

我想知道这是否是真的。

0 投票
4 回答
125404 浏览

python - Python 中的私有变量和方法

可能重复:
Python中对象名称前的单下划线和双下划线的含义

对于 Python 中的私有成员和方法,我应该使用哪个_foo(下划线)或(双下划线)?__bar

0 投票
0 回答
2782 浏览

c# - 维护私有集和公共访问 ViewModel 和 Model 中的属性

所以我目前在我的 ViewModel 中有一个这样的类:

我们的程序集设置方式是视图可以访问视图模型和模型,但视图模型只能访问模型,模型只能访问自身。

我需要从模型访问这个IsInMode属性。我知道该IsInMode属性将在应用程序启动时初始化,之后永远不会更改。到目前为止,我的想法是在模型层中创建另一个类,该类在变量上有一个get; private set;,并在视图模型层中IsInMode创建该对象的实例,然后在对视图模型中的属性进行编程时,它返回的状态这个模型对象。MyClassgetsIsInMode

这是解决这个问题的最好方法吗?

问题是我想避免让任何其他类更改此模式的状态,同时保持对模型层及以上的访问。我还想保持对 ViewModel 类的属性的访问。

0 投票
2 回答
1203 浏览

php - 将 Gettext 字符串分配给类成员

我正在制作一个将被翻译成 x 种语言的网站。

所有字符串都必须本地化。

有时我需要显示从数据库中检索到的语言名称、国家名称或其他信息。以这种方式处理的数据很少会改变 - 如上所述,我正在谈论语言名称,国家等。

在此示例中,我使用的数组包含站点 UI 已翻译成的语言。为了允许翻译名称(当“更改语言”标志/链接悬停时用于标题文本),我有一个像*这样的数组:

我使用它们来获取给定语言的相关名称字符串。

目前我正在使用一个全局数组:

用法:

输出(语言环境 = en_GB):

简体中文

输出(语言环境 = zh_CN):

简体中文</p>

我更愿意将这个(和其他)常量数组声明为类的私有成员,但似乎 PHP 不愿意:

结果是:

我应该低头回到全局数组,还是有另一种更好的方法让我以这种方式使用“常量”数组?

*数组键来自存储语言代码的数据库表以及我们是否有UI翻译:

解决方案

0 投票
7 回答
98727 浏览

java - 通过 Java 中的反射访问私有继承字段

我找到了一种方法来获取继承成员 class.getDeclaredFields(); 并通过私有成员访问class.getFields() 但我正在寻找私有继承字段。我怎样才能做到这一点?