public class MyBaseClass
{
public void DoSomething()
{
Console.WriteLine("a");
}
}
public class MyDerivedClass : MyBaseClass
{
new public void DoSomething()//用new 隐藏了该成员
{
Console.WriteLine("b");
}
{
public void DoSomething()
{
Console.WriteLine("a");
}
}
public class MyDerivedClass : MyBaseClass
{
new public void DoSomething()//用new 隐藏了该成员
{
Console.WriteLine("b");
}
}
static void Main(string[] args)
{
MyDerivedClass myObj = new MyDerivedClass();
MyBaseClass myBaseObj;
myBaseObj = myObj;
myBaseObj.DoSomething();
myObj.DoSomething();

本文通过示例展示了C#中如何使用`new`关键字隐藏基类方法以及如何使用`override`关键字重写基类方法。示例代码中,`MyDerivedClass`隐藏了`MyBaseClass`的`DoSomething()`方法,并提供了新的实现。在调用时,通过基类引用调用方法会执行隐藏的方法,而直接调用派生类对象的方法会执行重写的方法。
最低0.47元/天 解锁文章
1419

被折叠的 条评论
为什么被折叠?



