【发布时间】:2013-02-28 00:52:50
【问题描述】:
我在面试中被问到以下问题:
问题:具有相同名称和签名但返回类型不同的方法。有没有可能,他问我这种类型叫什么。
谁能告诉我以下内容:
在任何情况下都可能出现上述情况(例如基类中的一个和派生类中的一个?)如果是,它是什么类型?比如编译或运行时多态?
在编译时多态中,如果方法的返回类型和签名也不同怎么办?但只有函数的名称是相同的。还是编译时多态吗?
在重写时,如果我有不同的返回类型但方法名称和签名相同怎么办?可能吗 ? (他问我这个问题,我答错了:()请帮帮我。
谢谢
【问题讨论】:
-
你的答案是什么,为什么?
-
不可能。您可以尝试以这种方式重载您的方法,但编译器不会接受。
-
@Oded:大声笑我才意识到我回答错了。我说过,它被称为编译时多态性,并且在同一个类中是不可能的,但是一个虚函数可以在基类中,我们可以覆盖它或在派生类中使用“new”关键字以不同的返回类型。但是如果我们把它放在同一个类中,它会给出一个错误,说两个函数有相同的名字。我在面试时没有深思熟虑,我才意识到:(哈哈这个我无法回答的简单问题,走了。我应该多做些工作。
-
@Nolonar:非常感谢您的回答,今晚我将在 VS 中处理所有可能的情况以很好地理解这一点......再次感谢您:) 干杯
标签: c# .net c#-4.0 inheritance polymorphism