C#密封類,密封方法,異常基本語法
一、密封類
密封基本常識: 密封類可以用來限制擴充套件性,如果密封了某個類,則其他類不能從 該類繼承。 如果密封了某個成員,則派生類不能重寫該成員的實現。 預設情況下,不應該密封類和成員。 密封可以防止對庫的型別和成員進行自定義。 C#中使用密封類時,如果類滿足以下條件,則應將其密封: 1.靜態類。 2.類包含帶有安全敏感資訊的繼承的受保護成員。 3.類繼承多個虛成員,並且密封每個成員的開發和測試開銷明顯 大於密封整個類。 4.類是一個要求使用反射進行快速搜尋的屬性。密封屬性可提高 反射在檢查屬性時的效能。
密封方法概述及宣告
*密封類可以用來限制擴充套件性,如果密封了某個類,則其他類不能從該類繼承;如果密封了某個成員,則派生類不能重寫該成員的實現。 C#中宣告密封類時需要使用sealed關鍵字,具體語法格式如下。*
//訪問修飾符 sealed class 類名:基類或介面
//{
//類成員
//}
// public sealed class myClass//宣告密封類
//{
// public int i = 0;
// public void method() {
// Console.WriteLine("密封類");
// }
// }
密封方法概述及宣告
public class myClass1 { public virtual void method() { Console.WriteLine("基類中的虛方法"); } } public sealed class myClass2 : myClass1 { public sealed override void method() { base.method(); Console.WriteLine("密封類中重寫後的方法"); } }
密封類與密封方法的使用
密封類除了不能被繼承外,與非密封類的用法大致相同,
而密封方法則必須通過重寫基類中的虛方法來實現。
二、異常
異常基本語法: 異常是在程式執行期間出現的問題。 C# 中的異常是對程式執行時出現的特殊情況的一種響應。 異常提供了一種把程式控制權從某個部分轉移到另一個部分的方式。 C# 異常處理時建立在四個關鍵詞之上的:try、catch、finally 和 throw。
try:一個 try 塊標識了一個將被啟用的特定的異常的程式碼塊。後跟一個或多個 catch 塊。 catch:程式通過異常處理程式捕獲異常。catch 關鍵字表示異常的捕獲。 finally:finally 塊用於執行給定的語句,不管異常是否被丟擲都會執行。 throw:當問題出現時,程式丟擲一個異常。使用 throw 關鍵字來完成。
try
{
// 引起異常的語句
}
catch( ExceptionName e1 )
{
// 錯誤處理程式碼
}
catch( ExceptionName e2 )
{
// 錯誤處理程式碼
}
catch( ExceptionName eN )
{
// 錯誤處理程式碼
}
finally
{
// 要執行的語句
}
C# 中的異常類 C# 異常是使用類來表示的。C# 中的異常類主要是直接或間接地派生於 System.Exception 類。System.ApplicationException 和 System.SystemException 類是派生於 System.Exception 類的異常類。
System.ApplicationException 類支援由應用程式生成的異常。所以程式設計師定義的異常都應派生自該類。
System.SystemException 類是所有預定義的系統異常的基類。
下表列出了一些派生自 Sytem.SystemException 類的預定義的異常類