问题标签 [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 投票
13 回答
3548 浏览

c# - “私人”修饰符有什么作用?

考虑到“private”是类成员的默认访问修饰符,为什么甚至需要关键字?

0 投票
27 回答
74612 浏览

c++ - 我可以在不使用朋友的情况下从课堂外访问私人成员吗?

免责声明

是的,我完全清楚我所问的完全是愚蠢的,任何想在生产代码中尝试这种事情的人都应该被解雇和/或枪杀。我主要看不能做。

既然已经不碍事了,有没有办法从类外部访问 C++ 中的私有类成员?例如,有没有办法用指针偏移量来做到这一点?

(欢迎幼稚和其他非生产就绪技术)

更新

正如评论中所指出的,我问这个问题是因为我想写一篇关于过度封装(以及它如何影响 TDD)的博客文章。我想看看是否有办法说“即使在 C++ 中,使用私有变量也不是 100% 可靠的强制封装方式”。最后,我决定更多地关注如何解决这个问题,而不是为什么它是一个问题,所以我没有像我计划的那样突出这里提出的一些东西,但我仍然留下了一个链接。

无论如何,如果有人对它是如何产生的感兴趣,这里是: 测试驱动开发的敌人第一部分:封装(我建议在你认为我疯了之前阅读它)。

0 投票
25 回答
130456 浏览

javascript - 从原型定义的函数访问私有成员变量

有没有办法让原型定义的方法可以使用“私有”变量(在构造函数中定义的变量)?

这有效:

但这不会:

我习惯于在构造函数中定义我的方法,但由于几个原因而不再使用它。

0 投票
7 回答
8339 浏览

java - 私人会员访问 Java

是在类级别还是在对象级别的私有成员访问。如果是在对象级别,那么下面的代码不应该编译

请说明在 sub 的 messWithI() 方法中访问 obj 的成员 i 是否有效

0 投票
12 回答
5907 浏览

c++ - 访问私有成员

通过将其转换为 void 指针然后转换为结构来访问类的私有成员是否合适?

我认为我没有权限修改包含我需要访问的数据成员的类。如果不道德,我不想冒险以间接方式访问数据成员。

编辑:必须进一步编辑这个......我很确定这个类不会被修改,所以在那个程度上没关系......我唯一担心的是,如果编写该类的人知道这一点,它可能不会和他相处得很好:(。

0 投票
9 回答
1143 浏览

properties - 本地使用 Private Field x Property 的最佳实践

当在一个类中你有一个私有字段并在公共属性上公开该字段时,我应该在类中使用哪个字段?

下面是我试图找出的一个例子。应该操纵 Private Field _Counter 还是 Property Counter?

公开课测试

结束类

在此先感谢您的帮助。教育

0 投票
2 回答
4179 浏览

c++ - 如何从另一个父类是数据类的朋友类的派生类访问数据类的私有成员变量?

我有三个班级:

  1. 使用 Pimpl 模式的数据持有者类 CDataHolder

    /li>
  2. 一个基类CBase,需要访问CDataHolder中的iPImpl成员,所以是CDataHolder的友元类

    /li>
  3. CBase 的派生类 CDerived,它也需要访问相同的 iPimpl 成员。这里出现问题。尽管其父类是友元类,但派生类不能使用 iPimpl 成员。像这样:

    有很多派生类,所以每个派生类在 CDataHolder 类中放置“朋友类 CDerivedXXX”行并不是一个好方法。如何克服这个问题?有一个更好的方法吗?提前致谢。

0 投票
4 回答
98406 浏览

c++ - 如何用 C++ 编写一个简单的类?

我一直在阅读很多关于 C++ 类的教程,但他们错过了其他教程包含的内容。

有人可以告诉我如何编写和使用一个非常简单的 C++ 类,它使用可见性、方法和简单的构造函数和析构函数吗?

0 投票
3 回答
441 浏览

c++ - MFC 类中私有关键字位置的变量差异

使用以下代码片段作为我的问题的说明:

当我在 MyClass 定义中放置关键字“private”时,当我尝试在 MusicPlayer 类的方法中访问它时,privateContent 成员变量似乎不是私有的。但是,如果我将“private”关键字放在 DECLARE_DYNCREATE(MyClass) 行之后,privateContent 成员变量的行为就会恢复到预期的状态。有谁知道为什么会这样?提前致谢。

0 投票
4 回答
6624 浏览

python - 私有名称修改有什么好处?

Python为类方法和属性提供私有名称修饰。

是否有需要此功能的具体案例,或者它只是 Java 和 C++ 的继承?

请描述一个应该使用 Python 名称修饰的用例,如果有的话?

另外,我对作者只是试图防止意外的外部属性访问的情况不感兴趣。我相信这个用例与 Python 编程模型不一致。