子类与父类,

来源:互联网 发布:js中的事件委托 编辑:程序博客网 时间:2024/05/17 08:11
public class A    {        public virtual void TestM1()        {            MessageBox.Show("A.TestM1");        }        public virtual void TestM2()        {            MessageBox.Show("A.TestM2");        }     }    public class B: A    {        public override void TestM1()        {            MessageBox.Show("B.TestM1");        }        public new void TestM2()        {            MessageBox.Show("B.TestM2");        }    }    public class App    {        A a = new B();        public void Test()        {            a.TestM1();            a.TestM2();        }    }

很多时候子类override是为了基类使用时可以有灵活的构造配置,(多态)使用方总是基类对象所以如果子类有它自己的成员(包括new的成员函数在内)是无法被其调用的,那些不能为调用方提供调用的成员对于调用方来说是没有意义的,这也从一个方面回答了override不能被new代替的原因;
摘抄自:http://topic.csdn.net/u/20080918/18/a97d8845-c3a1-4aef-afb1-3b7172167b58.html?2038445491
原创粉丝点击