问题标签 [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.

0 投票
1 回答
1074 浏览

f# - f# 重复定义

在 F# powerpack 数学提供程序源代码中:我看到了这个(在 中lapack_service_netlib.fs

为什么这样编译?会c得到重复的定义吗?

0 投票
2 回答
1044 浏览

c++ - C stdlib/stdio 的影子函数

我正在编写一个游戏,现在我能够通过一个类及其方法来实现一个文件系统。sqlite为了让生活更轻松,我计划编写一些函数,如fopen, fclose, fread,rename等,以便能够隐藏基本函数并将我的调用定向到我的文件系统而不是原始文件系统。对于前三个功能,这些原型对我来说一切正常:

File *fopen(String _Filename, String _Mode); // i have my own optimized File struct

void fclose(File *_File);

size_t fread(String *_DstBuf, size_t _ElementSize, size_t _Count, File *_File);

这工作得很好,因为我要么返回另一个结构或参数,除了 aFile*而不是 a FILE*,但是重命名函数似乎有点棘手!

int rename(String _OldFilename, String _NewFilename);

这几乎是相同的原型。除了我使用std::string(typedef'ed String)比const char*!知道如何说服我的编译器使用我的函数或忽略 stdio-one 吗?

0 投票
1 回答
521 浏览

java - 关于在 Java 中隐藏/隐藏成员变量的问题

我想了解隐藏在 Java 中的工作原理。所以让我们假设你有以下代码

如果我编译,我将获得 NullPointerException。我认为这将是 sc.toString(); 的输出。

我将此代码更改为

它得到了预期的输出......好的 setMember of B 覆盖了来自 A 的那个,所以我可以用这种方式解释这一点。我玩了一下并从 B 中删除了 setMember 以取回我的 NullPointerException。但是如果我将 A 的代码更改为,它会再次编译并给我输出

在我看来,实际上 SomeClass 成员有两个实例......但是如果有两个实例,那么阴影意味着什么?隐藏仅对第二种情况有用吗?

0 投票
2 回答
1175 浏览

c# - 在 .NET 中隐藏继承的通用接口成员:好、坏还是丑陋?

我知道类实现中的影子成员可能会导致调用“错误”成员的情况,具体取决于我如何转换我的实例,但是对于接口我不认为这可能是一个问题,我发现自己正在编写接口经常这样:

我的代码中有一些地方只知道INode所以 children 也应该是 type INode

在其他地方,我想了解特定类型 - 在我的示例IAlphaIBeta接口的实现中,我希望孩子的类型与他们的父母相同。

所以我实现了一个NodeBase这样的类:

在实际实现中没有阴影,仅在接口中。

IAlpha&的具体实例IBeta如下所示:

同样,在实现中没有阴影。

我现在可以像这样访问这些类型:

这些变量中的每一个现在都有正确的强类型Children集合。

所以,我的问题很简单。使用这种模式的界面成员的阴影是好是坏还是丑陋?为什么?

0 投票
2 回答
58309 浏览

python - 在 Python 3 中调用 str() 将整数转换为字符串的怪异?

为什么这会给我一个错误?

0 投票
1 回答
123 浏览

scala - 强制访问 def

考虑到

一个得到

访问 val可以通过

或者

但是如何访问def

0 投票
4 回答
867 浏览

c# - C#中的阴影

我正在使用 C#。我有两个类 A 和 B。B 继承自 A。它们都有一个 Foo() 方法(在 A 中是虚拟的)。现在,如果我有

然后调用 A 中的 Foo() 。但是如果 B 中的 Foo() 具有“new”关键字,则再次调用基类中的 Foo()。那么,我为什么要使用阴影呢?

0 投票
2 回答
248 浏览

scala - 方法中的 Scala 不明确变量名称

我看过一些关于 Scala 和变量作用域的问题(例如Scala variable scoping question

但是,我无法让我的特定用例正常工作。

假设我有一个名为 Repo 的特征:

然后我有一种方法来创建 Repo 的实现......

当然,我使用了两个source变量,一个在方法级别,一个在Repo实现内部。如何source从我的Repo定义中引用方法级别?

谢谢!

0 投票
6 回答
9676 浏览

java - 在 Java 中,如果子类使用实例子变量隐藏静态父变量,继承的方法将使用哪个变量?

这可能是一件坏事,正如Java 中的父类和子类是否具有相同的实例变量中所讨论的那样?. (如果更改了父变量名称怎么办?那么它就不会再被遮蔽了。)但是,我仍然很好奇静态/非静态不同的变量是否会相互遮蔽。一方面,我希望它们是相同的变量名,因此会被隐藏,但另一方面,编译器似乎可能会根据静态性区分两者。

0 投票
1 回答
1786 浏览

citrix - Citrix 会话远程重影

这是基于 Citrix 技术的问题。我需要开发应该具有远程会话阴影功能的 Windows 应用程序。我们有安装了 XenApp 服务器和 XenApp SDK 的服务器,我们使用 PowerShell 从中获取会话信息。问题是 XenApp SDK 不提供阴影功能。基本上我需要像客户端到客户端会话阴影这样的东西。

这可能吗?

谢谢你!