构造函数

主要想说的是构造函数的执行顺序,先执行的是基类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)这个构造函数先
}

 

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