问题标签 [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.
oop - 你应该使用受保护的成员变量吗?
你应该使用受保护的成员变量吗?这有什么优势以及会导致什么问题?
oop - 应始终禁止受保护的属性吗?
我很少使用继承,但是当我这样做时,我从不使用受保护的属性,因为我认为它破坏了继承类的封装。
你使用受保护的属性吗?你用它们做什么?
security - 在 Vista 中使用保护模式进行战斗
我们的应用程序通常使用 ActiveX 控件在 IE(XP 和更早版本)上下载和安装我们的客户端,但是随着我们的用户群转向更多启用“保护模式”的 Vista 框,我们需要进行调查。
那么接下来,尝试使用保护模式 API 是否值得头疼?这是否会导致大量对话框和管理员权限来执行我们的应用程序需要做的事情(写入一些本地文件位置,访问其他一些应用程序等)?
我一心只想添加一个非基于浏览器的安装程序应用程序,如果需要,它将完成下载和安装客户端的繁琐工作......这只需要安装一次,在大型公司结构中它可能是被 IT 淘汰了。
我还缺少其他一些想法吗?
c# - C# 中的继承树和受保护的构造函数
给定以下继承树,以有效的方式实现它的最佳方法是什么?
这失败了:'Bar.Bar()' is inaccessible due to its protection level
。
我不希望构造函数是公开的,只有继承自的类Foo
才能创建Bar
s。Bar
是一个专门Foo
的,任何类型的Foo
都应该能够创建一个。公共内部在这里是一个“选项”,因为大多数预定义的扩展都Foo
将在 DLL 内部,但我认为这是一个草率的答案,因为后来出现的任何人想要创建自己的Foo
or类型Baz
(即可能发生)将被默认CreateBar()
实现卡住,这可能会也可能不会满足他们的需求。
也许有一种方法可以重构它以使其正常工作?我正在努力设计这个,所以它会起作用。
编辑(更多信息):
稍微具体一点:Foo 正在实现 IEnumerable,长话短说,Bar 提供了相同的接口,但只针对该可枚举对象的有限子集。所有 Foo 都应该能够创建自己的子集(即 Bar)并返回它。但我不想让每个想要实现 Foo 的人都担心这个,因为 Bar 会做代理并担心限制范围等。
java - Java 中的 public、protected、package-private 和 private 有什么区别?
在 Java 中,是否有关于何时使用每个访问修饰符的明确规则,即默认(包私有)、public
和protected
,private
同时进行class
和interface
处理继承?
c++ - C++ 类的私有成员和受保护成员有什么区别?
C ++类中的成员private
和成员有什么区别?protected
我从最佳实践约定中了解到,应该创建不在类外调用的变量和函数private
——但是看看我的 MFC 项目,MFC 似乎更喜欢protected
.
有什么区别,我应该使用哪个?
ruby - 在 Ruby 中对受保护和私有方法进行单元测试的最佳方法是什么?
Test::Unit
使用标准 Ruby框架在 Ruby 中对受保护方法和私有方法进行单元测试的最佳方法是什么?
我敢肯定,有人会直言不讳地断言“你应该只对公共方法进行单元测试;如果它需要单元测试,它不应该是受保护的或私有的方法”,但我对争论这个并不感兴趣。我有几个受保护或私有的方法,这些方法有充分和正当的理由,这些私有/受保护方法相当复杂,类中的公共方法依赖于这些受保护/私有方法正常运行,因此我需要一种测试方法受保护/私有方法。
还有一件事......我通常将给定类的所有方法放在一个文件中,并将该类的单元测试放在另一个文件中。理想情况下,我希望将这种“受保护和私有方法的单元测试”功能实现到单元测试文件中,而不是主源文件中,以使主源文件尽可能简单明了。
c++ - 你能在 C++ 中保护嵌套类吗?
我有一个类,只有特定类层次结构中的类才真正需要。我想知道是否可以将类嵌套在最高类的受保护部分并让所有其他类自动继承它?
c# - 你会拥有太多的“受保护的虚拟”方法吗?
对于那些在大型项目和 API/框架设计方面有经验的人来说,这是一个问题。
我正在开发一个将来会被许多其他项目使用的框架,所以我想让它变得漂亮和可扩展,但同时它需要简单易懂。
我知道很多人抱怨 .NET 框架包含太多的密封类和私有成员。我是否应该避免这种批评并用大量受保护的虚拟成员打开我的所有课程?
尽可能多地使我的方法和属性受保护是一个好主意吗?在什么情况下你会避免受保护的虚拟并让成员私有。