1. 程式人生 > >C#密封類,密封方法,異常基本語法

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 類的預定義的異常類 在這裡插入圖片描述