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

c# - 什么是阴影?

在 C# 中,术语阴影是什么意思?我已阅读此链接,但没有完全理解。

0 投票
5 回答
32922 浏览

java - Java 类中使用的变量阴影是什么?

我正在阅读我的 Deitel,Java How to Program 一书,遇到了shadowing一词。如果允许阴影,Java 类中有什么情况或目的是什么?

例子:

0 投票
6 回答
1071 浏览

javascript - 为什么阴影变量在外部范围内定义时评估为未定义?

考虑以下代码:

此代码的输出是警报框显示消息“超出范围”。但是,如果我将代码稍微修改为:

警报框显示消息“未定义”。如果在这两种情况下都显示“未定义”,我本可以理解逻辑。但是,这并没有发生。它仅在第二种情况下显示“未定义”。为什么是这样?

在此先感谢您的帮助!

0 投票
1 回答
221 浏览

shadowing - 字段名称最佳实践(阴影或复合名称)

正如上面的红色块(警告这是一个主观问题并且可能已关闭),可能没有关于此问题的石刻法,但我不明白为什么这需要关闭一个问题。

...一边咆哮一边

我计划将 Hibernate 实现为我的持久性框架,这可能会在实现时解决我的问题,但我有可以转换为类和子类的 DB 表(省略了现实生活中存在的许多细节和复杂性 :)):

因此,对于应该做什么以及为什么:

阴影:
我可以将这些保留原样,这需要一些反射技巧(根据http://forums.sun.com/thread.jspa?threadID=5419973),当使用编译时类型未知的对象时。

复合名称:
我可以在其类名之前命名我的所有字段,即a.aNameand b.bName,这在现实生活中变得非常丑陋:Door.DoorNameRotatingDoor.RotatingDoorName

Getter 和 Setter:
我没有提到这一点,因为对于 JavaBeans,这些将派生自字段名称,而且我相信 Hibernate 使用带注释的 POJO。

为了稍微影响结果,阴影似乎是最健壮的,至少在我的情况下,类a扩展了Name定义的抽象类,然后在适用时b使用自己的阴影Name。使用复合名称意味着如果我想向NickName所有数据库表添加一列,那么我必须将该字段添加到每种类型(那么继承的意义何在?!)

最后,我决定找出那些经历过实施其中一种或多种技术的利弊的人在这个问题上的看法;或者那个方便的石头蚀刻最佳实践会做:)

-Nomad311

0 投票
10 回答
2657 浏览

java - Is "this" shadowing a good idea?

The case of shadowing class variables is common in in Java. Eclipse will happily generate this code:

Is variable shadowing ever ok?

I am considering the implementation of a coding rule saying that "shadowing will not be allowed." In the simple case above it is clear enough what is going on. Add in a little more code that does something and you run the risk of missing "this" and introducing a bug.

What is the general consensus? Ban shadowing, allow it sometimes, or let it roll?

0 投票
4 回答
327 浏览

c# - new 关键字在派生类中的工作原理

我对 new 关键字有些困惑,当我使用 virtual 和 override 时一切正常,但与 new 有点不同(我想我遗漏了一些东西)

}

现在有了新

根据 MSDN,当使用 new 关键字时,会调用新的类成员,而不是已替换的基类成员。那些基类成员称为隐藏成员,GetType() 也将类型显示为 B。所以我哪里出错了,这似乎是一个愚蠢的错误 :-)

0 投票
2 回答
2223 浏览

f# - 阴影和嵌套功能

我想了解阴影和嵌套函数的机制是如何工作的。例如:

有人可以解释这里发生了什么吗?

0 投票
2 回答
2918 浏览

c++ - 在 C++ 中,阴影变量名称的范围解析(“优先顺序”)是什么?

在 C++ 中,阴影变量名称的范围解析(“优先顺序”)是什么?我似乎无法在网上找到一个简洁的答案。

例如:

我想不出变量可能会发生冲突的任何其他范围。如果我错过了,请告诉我。

在成员函数shadow内部时,所有四个变量的优先级顺序是什么?bar

0 投票
2 回答
714 浏览

java - 阴影的概念

给定以下代码:

你能解释一下阴影的概念吗?还有一件事,tooth主要方法的代码中实际使用了什么?

我知道这是一个非常丑陋的代码,但丑陋是 SCJP 书籍作者的标准选择。

0 投票
1 回答
3328 浏览

iphone - 在 iOS4 的 uiview 中为图像添加投影需要帮助吗?

我正在尝试为图像创建阴影。我也有视图之间的动画,这就是背景。但是,当我使用以下代码时,不会绘制图像。有人有想法么?