影子的目的是什么?

What's the purpose of Shadowing?

我最近读了一篇关于shadowing or hiding in programming (C++, C#, VB)的文章。

但我还是不明白这是什么原因?我们为什么要这样做?我的意思是,如果我们想让它成为 return 的值,我们总是可以调用真正的函数,而不是将一些 class 转换成它。

嗯,我不太擅长编程所以我看不出原因:)

谁能解释一下?

谢谢

在跟踪子 class 中有自己的方法版本,提供不同的实现,相同的方法也可用于基础 class。

假设您有 class 库被项目中的各种模块使用。有一种方法正在被其他库引用。如果我们改变方法,它可能会破坏现有的功能。因此我们 hide/shadow 使用 new 关键字的方法。这样我们就可以在不破坏旧功能的情况下实现新功能。

编辑:
您还可以在 Eric Lippert 的博客 here.

上找到一个很好的示例