zoukankan      html  css  js  c++  java
  • c#中sealed修饰符

    sealed 修饰符表示密封

    用法:

    1.用于类时,表示该类不能再被继承,不能和abstract同时使用,因为这两个修饰符在含义上互相排斥

    2.用于方法和属性时,表示该方法或属性不能再被重写,必须和override关键字一起使用,因为使用sealed修饰符的方法和属性肯定是基类中相应的虚成员。

    常见用处:

    1.通常在实现第三方类库时不想被客户端继承,或用于没有必要再继承的类以防止滥用继承造成层次结构体系混乱。

    2.恰当的利用sealed修饰符也可以提高一定的运行效率,因为不用考虑继承类会重写该成员。

    实例:

    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();
            }
        }
    }
    View Code

    结果:
    A.F
    A.G
    B.F
    B.G
    B.F
    C.G

    源博客地址:点击

  • 相关阅读:
    spring boot项目接入xxl-job
    Vue3 目录结构
    [原创]阿里全链路压测学习及理解
    python测试开发django-107.form组件widgets(radio/checkbox/单选多选下拉框/日历控件)
    ubuntu通过nginx部署fastcgi程序
    fastcgi
    fpc protobuf开源框架
    delphi jwt
    JWT
    google protobuf经验
  • 原文地址:https://www.cnblogs.com/sdd53home/p/5395807.html
Copyright © 2011-2022 走看看