C#語言還是比較常見的東西,這裡我們主要介紹C# sealed修飾符,包括介紹兩個修飾符在含義上互斥用於方法和屬性等方面。
C# sealed修飾符是幹什麼的?
C# sealed修飾符表示密封用於類時,表示該類不能再被繼承,不能和 abstract 同時使用,因為這兩個修飾符在含義上互斥用於方法和屬性時,表示該方法或屬性不能再被重寫,必須和 override 關鍵字一起使用,因為使用 C# sealed修飾符的方法或屬性肯定是基類中相應的虛成員通常用於實現第三方類庫時不想被用戶端繼承,或用於沒有必要再繼承的類以防止濫用繼承造成階層體系混亂恰當的利用 C# sealed修飾符也可以提高一定的運行效率,因為不用考慮繼承類會重寫該成員。
樣本:
- using System;
- using System.Collections.Generic;
- using System.Text;
-
- namespace Example06
- {
- class Program
- {
- class A
- {
- public virtual void F()
- {
- Console.WriteLine("A.F");
- }
- public virtual void G()
- {
- Console.WriteLine("A.G");
- }
- }
- class B : A
- {
- public sealed override void F()
- {
- Console.WriteLine("B.F");
- }
- public override void G()
- {
- Console.WriteLine("B.G");
- }
- }
- class C : B
- {
- public override void G()
- {
- Console.WriteLine("C.G");
- }
- }
- static void Main(string[] args)
- {
- new A().F();
- new A().G();
- new B().F();
- new B().G();
- new C().F();
- new C().G();
-
- Console.ReadLine();
- }
- }
- }