構造函數

主要想說的是構造函數的執行順序,先執行的是基類object

如:

public class MyBaseClass
{
    public MyBaseClass()
    {

    }
    public MyBaseClass(int i)
    {

    }
}
public class MyDerivedClass:MyBaseClass
{
    public MyDerivedClass()
    {
    }
    public MyDerivedClass(int i,int j)
    {
    }
}

執行順序:

System.Object.Object()構造函數

MyBaseClass.MyBaseClass()構造函數

MyDerivedClass.MyDerivedClass()構造函數

有時候會看到構造函數有這種寫法:

public MyDerivedClass(int i,int j):base(i)
{
    //這樣就會執行MyBaseClass.MyBaseClass(i),這個構造函數
}
public MyDerivedClass():this(5,6)
{
   //這樣會調用MyDerivedClass.MyDerivedClass(5,6)這個構造函數先
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章