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 类的预定义的异常类
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42075398/article/details/82821093