0

我知道,当我们在自己的基类中有一个虚函数,然后通过在派生类中重写它并在变量声明时考虑强制转换,与在派生类中使用 new 修饰符相比,我们有不同的结果。但为什么?是否有任何合乎逻辑的理由,或者我们必须毫无理由地学习它?

4

2 回答 2

0

我假设您指的是 C#。

new基本上,当子类方法与超类方法无关时,您使用修饰符。它们共享名称,但没有共享的多态行为。当您以多态方式重新定义名称时,这称为覆盖。

于 2009-07-07T08:40:01.600 回答
0

我建议不要为该方法选择一个不同的名称,而不是使用 new 运算符。

于 2009-07-07T15:51:50.723 回答