C 中sealed關鍵字的作用。

2022-03-18 15:20:35 字數 914 閱讀 2089

sealed 的中文意思是密封,顧名思義,就是由它修飾的類或方法將不能被繼承或是重寫。

在此類宣告中使用sealed 可防止其它類繼承此類;在方法宣告中使用sealed 修飾符可防止擴充類重寫此方法。

sealed 修飾符主要用於防止非有意的派生,但是它還能促使某些執行時優化。具體說來,由於密封類永遠不會有任何派生類,所以對密封類的例項的虛函式成員的呼叫可以轉換為非虛擬呼叫來處理。

密封類:

密封類在宣告中使用sealed 修飾符,這樣就可以防止該類被其他類繼承。如果試圖將乙個密封類作為其它類的基類,c# 將提示出錯。理所當然,密封類不能同時又是抽象類,因為抽象總是希望被繼承的,

在哪些場合下使用密封類呢?實際上,密封類中不可能有派生類。如果密封類例項中存在虛成員函式,該成員函式可以轉化為非虛有的,函式修飾符virtual 不再生效。

讓我們看下面的例子:

abstract

class

abstractclass

sealed

class

sealedclass : abstractclass

}

如果我們嘗試寫下面的**

class otherclass : sealedclass

public

virtual

void

g() }

class

b : a

override

public

void

g() }

class

c : b

}類b 對基類a 中的兩個虛擬方法均進行了過載,其中f 方法使用了sealed 修飾符,成為乙個密封的方法。g 方法不是密封方法,所以在b 的派生類c 中,可以過載方法g ,但不能過載方法f

sealed關鍵字的作用

sealed關鍵字的作用 在類宣告中使用sealed可防止其它類繼承此類 在方法宣告中使用sealed修飾符可防止擴充類重寫此方法。sealed修飾符主要用於防止非有意的派生,但是它還能促使某些執行時優化。具體說來,由於密封類永遠不會有任何派生類,所以對密封類的例項的虛函式成員的呼叫可以轉換為非虛擬...

C 關鍵字掃盲 Sealed 密封

sealed官方描述 應用於某個類時,sealed 修飾符可阻止其他類繼承自該類。還可以對替代基類中的虛方法或屬性的方法或屬性使用 sealed 修飾符。這使你可以允許類派生自你的類並防止它們替代特定虛方法或屬性。專案 learnsealed 環境vs2017 net core2.0 應用於方法或屬...

sealed(密封)關鍵字

sealed的 中文意思是密封,故名思義,就是由它修飾的類或方法將不能被繼承或是重寫。sealed關鍵字的作用 在類宣告中使用sealed可防止其它類繼承此類 在方法宣告中使用sealed修飾符可防止擴充類重寫此方法。sealed修飾符主要用於防止非有意的派生,但是它還能促使某些執行時優化。具體說來...