public class MyDeriveClass
:MyBaseClass
{
public MyDeriveClass()
:base()
{
}
int derive_int = 1;
}
public class MyBaseClass
{
public MyBaseClass()
{
}
int base_int = 1;
}
var cls = new MyDeriveClass();
調用順序以下:markdown
MyDeriveClass();ide
考慮MyBaseClass()中有一個屬性A爲abstract
在MyBaseClass()中能夠直接操做這個屬性A,
只須要(也應該如此設計)DeriveClass作好override函數
你須要注意的問題是:spa
在Field的聲明處初始化 和 在構造函數中初始化 的順序是不同的。
在Field的聲明處初始化 老是比 構造函數要早執行,且早於基類的Field的聲明處初始化和基類的構造函數。設計