问题标签 [shadowing]
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.
c# - 在 C# 层次结构中覆盖(隐藏、重载?)具有不同返回类型的方法
我正在编写一个具有用于实现数据类型的 OOP 结构的 SDK;
- 首先是一个界面
- 然后是一个抽象实现
- 最后是一个抽象的通用实现
人们可以选择实现接口,或者从任何一个类派生。
我想重新实现 Duplicate 方法,以便它始终返回可能的最具体的类型。即,当您在 IGoo 实例上调用 Duplicate 时,您会得到另一个 IGoo。如果你在 Goo 上调用它,你会得到 Goo,如果你在 -say- Goo<int> 上调用它,你会得到 Goo<int>。并且所有 Duplicate() 方法总是调用最具体的实现。
这可能吗?只有当您可以显式实现接口时才有可能?在这种情况下,我不应该让 Goo<int> 从 Goo 派生,而是让它实现 IGoo 并键入所有低级功能两次?
java - 场阴影或覆盖?
我有两个类(A和B),B扩展了A。
在这种情况下,程序写入 1。
但是,如果我在构造函数中赋值 i,它会写 2。
为什么?
python - 如何处理相互遮蔽的包裹?
我已经通过 Ubuntu 软件包安装了我的大部分模块,因此它们位于/usr/lib/python3/dist-packages
. 有些太旧或无法通过 Ubuntu 获得,所以我通过 pip 安装了它们,它们位于/usr/local/lib/python3.3/dist-packages
.
到目前为止,一切都很好。但是,两者都包含一个包mpl_toolkits
,但内容不同。 import mpl_toolkits.basemap
尽管存在 ,但仍然失败/usr/local/lib/python3.3/dist-packages/mpl_toolkits/basemap
,因为mpl_toolkits
在 中首先找到/usr/lib/python3/dist-packages/mpl_toolkits
,其中包含许多模块,但不是basemap
.
因此,实际上,分发级别mpl_toolkits
正在遮蔽 custom-installed mpl_toolkits
。处理这个的正确方法是什么?
java - 从匿名类的角度来看,被局部变量遮蔽的字段
我正在尝试运行此代码:
但这给了我一个错误:
x
参数 is not ,因此final
不应从匿名类访问它,但代码无法编译。看起来该println
行正在尝试使用x
参数而不是x
字段。为什么?我怎么能告诉它我想要这个x
领域?
c++ - 覆盖 C++ 派生类中的数据成员
我对 C++ 重新定义有疑问。我在派生类中分配内存,所以我需要在基类中保留这个内存。因此,我需要考虑 Base 类中的属性与 Derived 类中的属性相同,我不知道这在 C++ 中是否可行。
我真的需要做重载,因为这是我真正问题的一个例子。对于 CVS 的两个不同的类 Base,我的两个分支中的每个分支一个,我有相同的测试(派生一个主代码)。
在一个 Base 类中,我有这个属性,而在另一个 Base 类中,我没有这个属性,所以我必须将它放在 Derived 类中进行编译。
我不想制作两个不同的测试代码,所以我需要覆盖属性
python - Python:变量复制中无法解释的情况
给定以下程序,我希望变量bar
保持不变。
但是,这是输出:
我不明白。前 2 个网格符合预期,但什么时候发生了bar
变化?我怎样才能防止这种情况发生?
javascript - 无法从 javascript 函数重置全局计时器
我尝试了各种方法来确保我的计时器变量是全局的(我相信它是全局的)但是为什么我不能清除间隔?
我相信这是相关的代码部分;但是,可以在此处找到完整的代码。
java - 在 Java 中用局部变量遮蔽实例变量
我已经读过“如果有另一个同名的变量在范围内更接近,则一个变量将被隐藏”。我以构造函数为例找到了这个 Point 类:
然后我在下面的 CreateObjectDemo 类中创建了一个 Point 类的对象,并打印了变量 x 的值。
运行编译器后,它打印 0。但是为什么它不打印 23?我认为构造函数中的"x = x"会像"23 = 23"。我误解了阴影变量的定义吗?
haskell - 如何在 Haskell 的函数中使用全局变量
在与现实世界 haskell的第 3 章中的变量不正确匹配的部分中,有一个示例如下:
该解释case f of
部分说明,apple
并且orange
不被视为函数声明之前定义的全局变量。它们是局部变量。我认为如果没有与全局变量同名的局部变量,则全局变量不会隐藏。
r - 这是函数阴影错误吗?
搜索中没有出现任何适用的内容,但是在 R 中安装软件包时遇到了这个错误:
现在,我已经data.table
加载了这个正在运行的会话。当我以 root 身份运行另一个 R 会话并安装此包时没有加载新包时,它没有错误地完成,我可以毫无问题地将这个包加载到初始会话中。
这个错误来自哪里,如果我同时data.table
加载它是否会给我可能的错误输出?
编辑:输出conflicts()
:
这个 pastebin提供了已安装软件包的列表,因为它很长。