我們的專案時常在寫Code的時候會先寫好底層的程式
再由後續的類別繼承並且傳入 (例如:登入 傳入使用者,Transaction 的傳入....等)
參考了網路上的大大這篇文章
我才算完全理解 base 繼承的規則
我這邊也做了小規模的測試
先是 父類別 程式
再來分別是 第一個 ChildClass 去繼承 前面的BaseClass
第一個childClass 在呼叫時傳入 2這個數字
因為在ChildClass(int i) : base(3)
這個 建構式多載 符合,所以會跑這段
但因為base是比較先的
所以會是 base(3) 先傳進去BaseClass內
所以會得到
這是BaseClass(int i) 傳入的數字是 :3
為第一行輸出
再來才是
這是ChildClass(int i) Child傳入的是: 2
這就是繼承時 base 的用法
-------------------------------
再來是 繼承時 this 的用法
這邊可以看到第一個ChildClass2 的建構式
內有繼承 this 這個方法
其實就是他會透過這個繼承 this 去找自己ChildClass2裡面符合的建構式
所以就會跑到ChildClass2(int i):base(3) 裡面去
結果就會如上圖 childClass2 的結果
這是BaseClass(int i) 傳入數字是:3
這是ChildClass(int i) Child傳入數字是:5