C#中子類是否繼承了父類中定義的私有成員
阿新 • • 發佈:2018-12-22
1.結論:建構函式和解構函式不能被繼承。除此以外的其它成員,不論對它們定義了怎樣的訪問方式,都能被繼承。基類中成員的訪問方式只能決定派生類能否訪問它們;
2.下面的程式用來驗證子類物件中存在父類中定義的私有成員
class Program { static void Main(string[] args) { Son son = new Son();//本例中,只例項化了一個子類物件 son.SonFunc(); } } /// <summary> /// 父類 /// </summary> class Father { private int m_age = 0;//父類私有成員 protected void FatherFunc(Son son) { this.m_age = 30;//1.this 可訪問私有成員 //判斷子類物件son 與 當前物件this 引用是否相同 //經驗證,引用相同 => 2.子類物件中擁有私有成員 bool IsReferenceEquals = object.ReferenceEquals(son, this); } } /// <summary> /// 子類 /// </summary> class Son : Father { public void SonFunc() { base.FatherFunc(this);//呼叫父類方法,將子類物件傳進去 } }
其他可參照:https://blog.csdn.net/qq_34343303/article/details/81612940