C# 繼承 子類(派生類) 父類(基類)

宋軍濤發表於2014-02-27

子類(派生類) 父類(基類 
  1.子類擁有父類所有的成員.
  2.protected 修飾的成員只能在本類和子類中訪問. 
  3.建立子類物件的時候,在子類物件中會為子類物件的欄位開闢空間 也會為父類物件的所有欄位開闢空間. 只不過父類私有的成員訪問不到而已。
  4.子類從父類繼承父類所有的非私有成員. 
  5.base關鍵字可以呼叫父類的非私有成員.
  6.子類的訪問級別不能比父類高.   
  7.建立子類物件的時候,1.呼叫子類的建構函式 2.呼叫父類的建構函式 3.執行父類的建構函式 4.執行子類的建構函式.

  8.子類的建構函式後面預設加了1個 :base() 通過這個呼叫父類的無引數的建構函式.
  9.如果父類沒有無引數的建構函式 將會報錯,因為子類的建構函式預設會呼叫父類的無引數的建構函式.
 10.使用base關鍵字可以顯示的指定子類建構函式呼叫父類有參的建構函式.

 1. 為什麼要呼叫父類的建構函式
      父類的建構函式會初始化父類屬性的值.
 2. 為什麼優先於本類的建構函式執行.  

 

續:

1. 繼承的好處:方便程式碼管理. 子類可以擁有父類的非私有成員  為了多型.
2. 子類的建構函式.預設會去呼叫父類的無引數的建構函式.
3.  顯示指定子類建構函式呼叫的父類建構函式 base
4.  建立子類物件的記憶體圖.
5. this 可以點出子類的所有成員和父類的非私有成員 base可以點出父類的非私有成員. 
6  單根性 傳遞性

相關文章