c 不是虛方法的方法能用ovreride重寫嗎

2021-07-23 16:58:31 字數 647 閱讀 5674



顯然不是嘛,虛擬或抽象方法才能重寫

仔細看看:

-------------------------------------

virtual 用在基類中,指定乙個虛方法(屬性),

override 用在派生類中,表示對基類虛方法(屬性)的重寫。

以上的基類和派生類都是相對的。b 是 c 的基類,也可以是 a 的派生類,b 中既可以對 a 中的 virtual 虛方法用 override 重寫,也可以指定 virtual 虛方法供 c 重寫。

不能重寫非虛方法或靜態方法。重寫的基方法必須是 virtual、abstract 或 override 的。為什麼 override 也可以重寫呢?因為基類中的 override 實際上是對基類的基類進行的重寫,由於繼承可傳遞,所以也可以對基類中 override 的方法進行重寫。

override 宣告不能更改 virtual 方法的可訪問性。override 方法和 virtual 方法必須具有相同的訪問級別修飾符。

不能使用修飾符 new、static、virtual 或 abstract 來修改 override 方法。

重寫屬性宣告必須指定與繼承屬性完全相同的訪問修飾符、型別和名稱,並且被重寫的屬性必須是 virtual、abstract 或 override 的。

C 虛方法 抽象方法

首先在c 中虛方法的定義 public virtual void virtualmethod 只要在方法名前加上virtual,就宣告了該方法為虛方法,注意宣告為虛方法後再不能加上abstract,static關鍵字宣告 以下是插入乙個例項來說明虛方法與非虛方法的不同 public class a ...

C 虛方法和抽象方法

虛方法 1 virtual方法表示此方法可以被重寫,也就是說這個方法具有多型.父類中的方法是通用方法,可以在子類中重寫以重新規定方法邏輯.2 virtual方法可以直接使用,和普通方法一樣 3 不是必須重寫的.子類可以使用base.方法 的方式呼叫,無論有沒有在子類使用override去重寫 vir...

C 虛方法和抽象方法

虛方法 1 virtual方法表示此方法可以被重寫,也就是說這個方法具有多型.父類中的方法是通用方法,可以在子類中重寫以重新規定方法邏輯.2 virtual方法可以直接使用,和普通方法一樣 3 不是必須重寫的.子類可以使用base.方法 的方式呼叫,無論有沒有在子類使用override去重寫 vir...