C#-关键字使用虚拟+重写与新建在基类型中声明方法之间有什么区别“virtual“然后使用override关键字,而不是简单地使用new“在子类型中声明匹配方法时使用关键字?
3 回答
慕工程0101907
TA贡献1887条经验 获得超5个赞
public class Foo{
public bool DoSomething() { return false; }}public class Bar : Foo{
public new bool DoSomething() { return true; }}public class Test{
public static void Main ()
{
Foo test = new Bar ();
Console.WriteLine (test.DoSomething ());
}}此打印为false,如果使用覆盖,则会打印true。
汪汪一只猫
TA贡献1898条经验 获得超8个赞
public class Foo{
public /*virtual*/ bool DoSomething() { return false; }}public class Bar : Foo{
public /*override or new*/ bool DoSomething() { return true; }}Foo a = new Bar();a.DoSomething();
BarFoo
virtual/overridenew
- 3 回答
- 0 关注
- 545 浏览
添加回答
举报
0/150
提交
取消
