c#繼承與派生
繼承
一個類可以派生自多個類或接口,這意味着它可以從多個基類或接口繼承數據和函數。
- protected標識的變量只用於繼承給派生類使用
基類的初始化
派生類不能在成員初始化列表中直接初始化基類的成員
- 派生類繼承了基類的成員變量和成員方法。因此父類對象應在子類對象創建之前被創建。您可以在成員初始化列表中進行父類的初始化。
- 構造函數是不可繼承的,因此,派生類的構造函數必須通過調用基類的構造函數初始化基類成員,不能夠在派生類初始化列表直接初始化基類的成員,“越級初始化”。
- 派生類的構造函數的一般格式為:
派生類名(形參表):基類名1(形參表1),基類名2(形參表2)···
{···}
注意:
-
在創建派生類對象時,先調用基類的構造函數,然后調用派生類的構造函數;撤銷對象時,析構函數被調用的順序則相反。
-
若派生類中包含對象成員,則派生類的構造函數初始化成員列表中既要列出基類的構造函數也要列出對象的構造函數。派生類定義對象時,先調用基類的構造函數,再調用對象的構造函數,最后調用派生類的構造函數。
多重繼承
- c#不支持多重繼承,但是可以使用接口實現多重繼承。
