密封類:
密封類不允許被其他類繼承。使用sealed修飾符就可以標記乙個類是密封類,這樣就可以防止該類被其他類繼承。比如c#裡系統預定好的string類就是密封類。通過「轉到定義」可以發現string類被sealed修飾符標記。如圖所示:
密封類的知識點:
1.被定義為sealed的類通常都是一些有著固定作用、完成某種標準功能的類。
2.有時候定義密封類是為了提高效能,由於密封類不存在被繼承的問題,因而也不存在虛方法呼叫的問題,這樣程式執行時就可以對密封類的方法呼叫進行優化。
3.如果檢視將乙個密封類作為其他類的父類,將會報錯。因為密封類不能同時又是抽象類,因為抽象總是希望被繼承。
密封方法:將乙個非密封類中的某個方法宣告為密封方法,以防止在子類中對該方法進行重寫。比如:
第1步,父類a.cs的**:
class a
}
第2步,繼承父類的b.cs**:
class b : a
}
第3步,繼承b類的子類c.cs的**:
class c : b
}
b.cs對父類的虛方法helloworld()進行了重寫,並且使用了sealed修飾符,使得該方法成為了乙個密封方法。這樣c類在繼承自b類後,就無法將該方法重寫。 C 學習筆記(三十二) Array類
array 用方括號宣告陣列是c 中使用array類的表示法。在後台使用c 語法,會建立乙個派生自抽象基類array的新類。這樣陣列就是可以使用array定義的方法和屬性。array是抽象類,所以不能使用建構函式例項化。除了使用c 語法建立陣列例項,還可以使用靜態方法createinstance 建...
C 學習筆記 密封類與密封方法
密封類可以用來限制擴充套件性,如果密封了某個類,則其他類不可以從該類繼承 如果密封了某個成員,則派生類不能重寫該成員的實現。預設情況下,不應密封型別和成員。密封可以防止對庫的型別和成員進行自定義,但也影響某些開發人員對可用性的認識。c 中如果滿足以下條件,則應將其密封 1 類是靜態的 2 類包含帶有...
C 學習筆記(三十二) 之stack棧容器
老規矩 妹妹鎮樓 棧容器是單口的資料結構,特點是先進後出。資料只能從棧頂進入,也只能從棧頂取出,除此以外,沒有其他方法可以訪問棧容器的資料。因此,棧容器是沒有遍歷操作的,它只能從棧頂存資料,取資料,且只能在取出資料的情況下獲取該資料 沒有像遍歷那樣,能夠在不取出資料的情況下獲取容器中的任意資料。因此...