天天看點

c#繼承(抽象類、接口)c#繼承(抽象類、接口)

覆寫基類中的同名成員。

重寫virtual和abstract函數。

為了定義三角形、矩形類,可以先定義圖形類,再在圖形類的基礎上派生出具體類。圖形類不能被執行個體化,是以可以定義為抽象類。

抽象類——abstract修飾。無法執行個體化。

抽象方法——abstract修飾。隻能在抽象類中出現。隻聲明不定義。派生類必須使用override關鍵字重寫抽象類的所有方法。

接口是一種約定,是一種繼承方式。接口中隻聲明函數,不給出定義。若一個類繼承了該接口,就一定要給出接口中所有聲明函數的定義。

特性。

接口不能被執行個體化。接口可以多繼承。

接口中隻能聲明不能定義。

如果基類繼承了接口,那麼派生類都将繼承該接口的實作。

建議接口名字以大寫的i字母開頭。

若多繼承時導緻接口成員的二義性,解決方案為:強制類型轉換。

new用于普通函數的重寫。

override用于virtual和abstract函數的重寫。

虛函數是動态綁定的基礎。