问题标签 [protected]

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

c# - 受保护的关键字 C#

我想知道protectedC#中的含义是什么,我们为什么使用它,以及关键字的好处?

例如

protected int currentColorIndex;

请详细说明。

0 投票
3 回答
975 浏览

c++ - 奇怪的编译器错误和模板继承

有人可以解释一下为什么这段代码:

产生以下编译器错误?

由于两个safe_bool模板都派生自safe_bool_base,我不明白为什么不能访问基类的受保护成员。

我错过了什么吗?

0 投票
1 回答
939 浏览

scala - 从 Scala 调用 Java:受保护的构造函数

这在 Scala 2.8.0 final 上编译没有错误:

但是,在执行时我得到:

这是错误、功能还是已知限制?

0 投票
4 回答
4974 浏览

php - 在 php 中避免访问修饰符的原因

什么是不在 php 中使用关键字 public、private、protected 的正当理由?

故事:我与一个团队开始了一个项目,该团队在他们的代码中积极使用访问修饰符(甚至明确地“公开”)并希望说服我也这样做。我总是发现这种东西在像 php 这样的动态语言中完全没用,但我意识到我的直觉在技术讨论中几乎不是一个论据。因此,我正在寻找一个可靠、清晰的解释,为什么访问修饰符在 php.ini 中是无用的(甚至是有害的)。

我知道一些类似的主题已经存在

但是我发布这个有几个原因

  • 我不是在问我是否应该使用“公共”。我已经不使用它了。
  • 我明确地不想听到为什么访问修饰符很好(我知道它们很糟糕,我只需要专家来确认)。
  • 如果您要告诉我“最佳实践”和“OOP 原则”,请不要打扰。

TIA

0 投票
13 回答
105921 浏览

java - 为什么不能将类定义为受保护的?

为什么我们不能将类定义为protected

我知道我们不能,但为什么呢?应该有一些具体的原因。

0 投票
4 回答
138 浏览

php - 使用php的简单类

你好我是 PHP 新手,我需要帮助来了解 PHP 类的基础知识。

我想要一个使用私有公共保护和静态的类的示例。
以及它们是如何工作的..

提前致谢。

哦,我也忘记了如何扩展。我在谈论父母和孩子的东西或什么......再次感谢。

0 投票
3 回答
1558 浏览

oop - 为什么同一类而不是同一对象可以访问受保护和私有属性?

例如,我们有类Man

如果Man.age受保护,那么我不明白为什么chuckNorris(类的实例Man)可以更改对象的受保护/私有属性agejackBauer类的另一个实例Man)。他不应该这样做(IMO)。

在我看来,受保护/私有属性的应该只属于对象本身,而不是......

我想我需要一些解释,我很困惑。

0 投票
1 回答
752 浏览

inheritance - 从 JRuby 中的父类访问受保护的变量

我试图获取在我继承的父类中定义的受保护变量。

这可能吗?我找不到任何文件说它是。我见过在早期版本的 JRuby 上已关闭的票证。

任何帮助都会很棒。

编辑:澄清

我想谈点别的。

0 投票
1 回答
1556 浏览

c# - NHibernate 可以设置非公共属性吗?

是否可以设置 NHibernate 来加载/保留类的非公共属性?例如,我可能有一个 Item 类,如下所示。

使用以下映射:

但是我真的不希望我的 Item 类的消费者能够更改 ItemID 字段。我可以限制对 ItemID 的 set 访问器的访问吗?如果是这样,我应该将其设置为什么?私有的、受保护的、内部的、受保护的内部?

0 投票
1 回答
746 浏览

ruby - 在 Ruby 测试中避免受保护的级别访问器和相等方法

我有一些使用受保护级别 attr_readers 能够实现 == 方法的 Ruby 代码,以便我们可以断言一些结果日历等于预期的日历),但是除了测试中的断言之外,任何代码都不需要这些受保护的访问器代码。

我的一些代码如下所示:

如何避免需要受保护的 attr_readers?实际上,理想情况下,如果我也可以消除对 the 的需求,def==(......那就太好了,因为它也只在测试中需要!

一切顺利,亚历克斯

第一次尝试:

在我的规范文件的顶部,我可以添加这一行来为我的类添加一个默认的 == 方法:

这使我能够从日历类中删除五六行!