本文共 701 字,大约阅读时间需要 2 分钟。
void Main()
{
SonB s = new SonB();
s.Show();//先调用子类的函数,再调用基类的函数(在子类方法中base.Show()),一共messageBox.show(...)了两次}
//**************
public class SonB : BaseA
{ public string b = "bb"; public override void Show() { MessageBox.Show(b); base.Show(); }}
public class BaseA { public string a = "aa"; public virtual void Show() { MessageBox.Show(a); } }//******************
protected override void WndProc(ref Message m)//子类的消息循环
{ if (m.Msg == WM_SYSCOMMAND) { if (m.WParam.ToInt32() == SC_CLOSE)//不影响关闭操作,因为后面还调用了基类的消息循环( base.WndProc(ref m);//基类的消息循环) { ............................ //return;//返回的话就不调用基类的消息循环了,这样就不能执行基类的基本消息对应的行为了 } } //根据继承关系,子类重写的函数调用完后,可以手动再调用基类的被重写的函数; base.WndProc(ref m);//基类的消息循环}
转载地址:http://cclws.baihongyu.com/