C#入門經典 學習筆記(七)類繼承
阿新 • • 發佈:2018-12-11
類繼承 通過繼承,可以定義一個新類,新類納入一個已經宣告的類並擴充套件。 1.已存在的類稱為基類;新類成為派生類,派生類包括了自己類宣告的成員和基類的成員。 2.每個派生類只能繼承一個基類,如果沒有基類規格說明,則派生類隱式派生object類。不加基類規格說明等價繼承object基類。 3.雖然類只能直接繼承一個基類,但是繼承的層次沒有限制。
隱藏基類成員 1.派生類不能刪除繼承基類的任何成員,但是可以隱藏基類成員。 2.通過在派生類中宣告(new修飾符)新的帶有相同簽名的函式成員,可以隱藏或者掩蓋繼承的函式成員。 3.可以隱藏靜態成員。
基類訪問 1.如果派生類必須訪問被隱藏的基類成員,則需要使用積累訪問表示式(base.成員名稱)。 2.不建議使用隱藏基類成員和基類訪問方式設計。
使用基類的引用 1.派生類的例項由基類的例項加上派生類附加的成員組成。可以通過派生類物件的引用,使用型別轉換運算子把該引用轉換為基類型別。 2.使用基類的引用時,只能訪問基類成員,不能看到派生類的物件。 3.通過使用基類的虛方法和派生類的覆寫方法可以使基類的引用訪問派生類對應的成員物件。 3.1.派生類的方法和基類的方法有相同的簽名和返回型別。 3.2.基類的方法使用virtual修飾符。 3.3.派生類的方法使用override修飾符。 4.覆寫和被覆寫的方法必須有相同的可訪問性。 5.不能覆寫static方法或者非虛方法 6.方法、屬性、索引和事件,都可以被宣告為virtual和override。