C#之 sealed(密封類和密封方法)
1,密封類
密封類可以用來限制擴充套件性,當在程式中密封了某個類時,其他類不能從該類繼承,可防止對壘進行自定義。
2,定義密封類——sealed
sealed class MySealedClass
{}
3,密封方法
virtual 關鍵字用於修飾方法、屬性、索引器或事件宣告,並使它們可以在派生類中被重寫。
預設情況下,方法是非虛擬的。 不能重寫非虛方法。
virtual 修飾符不能與 static、abstract, private 或 override 修飾符一起使用。
除了宣告和呼叫語法不同外,虛擬屬性的行為與抽象方法一樣。
在靜態屬性上使用 virtual 修飾符是錯誤的。
通過包括使用 override 修飾符的屬性宣告,可在派生類中重寫虛擬繼承屬性。
c#密封類的一個例子。
namespace 密封方法
{
class Program
{
static void Main(string[] args)
{
Class2 myMethod = new Class2();
myMethod.MyMethod();
Console.ReadLine();
}
}
class Class1
{
public Class1()
{
Console.WriteLine("建立Class1的型別變數");
}
public virtual void MyMethod()
{
Console.WriteLine("這是一個方法");
}
}
class Class2 : Class1
{
public Class2()
{
Console.WriteLine("建立Class2的型別變數");
}
public sealed override void MyMethod()
{
Console.WriteLine("這是一個密封方法!");
}
}
}
總結:
C#允許把類或方法宣告為sealed.對於類來說,這表示不能繼承該類。
對於方法來說,這表示不能重寫該方法。
**注意 **:sealed 只能寫在重寫的方法上,寫上以後,表示該方法不能被該類的子類重寫了。
class baseClass{
public virtual void function(){};
}
class DerivedClass : baseClass{
public sealed override void function(){}; // 可以將重寫的方法宣告為密封方法,表示該方法不能被重寫。
}
相關文章
- Kotlin Vocabulary | 密封類 sealed classKotlin
- Java語言的新密封Sealed型別簡介 - Ben EvansJava型別
- 詳解 Java 17 中新推出的密封類Java
- 旋轉接頭的組成部分和密封方法
- OpenSSL 公鑰私鑰加解密封裝解密封裝
- RPA+物理硬體機器人完成合同蓋章和自動密封機器人
- 多家公司聯名要求法官密封Epic蘋果官司敏感檔案蘋果
- Sealed with a kiss
- C# 反射呼叫擴充類方法C#反射
- scala中的sealed
- python建立類和類方法Python
- C#類中方法的執行順序C#
- 抽象方法和抽象類抽象
- Java - 24 類變數和類方法Java變數
- C#通過反射獲取類中的方法和引數個數,反射呼叫方法帶引數C#反射
- 類和類之間的比較
- C#介面、抽象類、普通類和繼承(子類與父類)都有其特定的用途和場景C#抽象繼承
- Java之Thread類的常用方法 .sleep()Javathread
- python之建立類的兩種方法Python
- 泛型類和泛型方法泛型
- C#學習——基本類——Math類C#
- C#方法C#
- Java之繼承和抽象類Java繼承抽象
- StringBuffer類的delete()方法和deleteCharAt()方法的區別delete
- 類的靜態屬性和方法
- C#轉換Datetime為 UnixTimeStamp方法和坑點C#
- C#/Vsto中CustomTaskPanes和Ribbon的使用方法C#
- C#相等性 - 三個方法和一個介面C#
- 深入理解 Java17 新特性:Sealed ClassesJava
- javaSE-day04--ArrayList基本用方法、類內定義方法和方法過載、靜態方法static(類的方法)、工具方法(static)的定義和使用Java
- C#方法2C#
- C# HTTP幫助類C#HTTP
- 瞭解下C# 類(Class)C#
- c#封裝DBHelper類C#封裝
- 聚類之K均值聚類和EM演算法聚類演算法
- PHP 底層原理之類和物件PHP物件
- C#神器"BlockingCollection"類實現C#神仙操作C#BloCGC
- C#基礎:多型:基類可以定義並實現虛(virtual)方法,派生類可以重寫(override)這些方法...C#多型IDE
- 正規表示式之Matcher類中group方法