zoukankan      html  css  js  c++  java
  • C#中sealed关键字

    1. sealed关键字
        当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。类似于Java中final关键字。
        在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承。

    class A {}
    sealed class B : A {}


    2. sealed 修饰方法或属性
        能够允许类从基类继承,并防止它们重写特定的虚方法或虚属性。
        1)sealed是对虚方法或虚属性,也就是同override一起使用,如果不是虚方法或虚属性会报出错误:cannot be sealed because it is not an override

    public class D  
    {  
        /* ConsoleApplication1.MSFun.Sealed.D.M()'   
         * cannot be sealed because it is not an override   
         */  
        public sealed void M() { Console.WriteLine("D.M()"); }  
    } 

     2)防止子类重写特定的方法或属性

    public class A  
    {  
        protected virtual void M() { Console.WriteLine("A.M()"); }  
        protected virtual void M1() { Console.WriteLine("A.M1()"); }  
    }  
      
    public class B : A  
    {  
        protected sealed override void M() { Console.WriteLine("B.M()"); }  
        protected override void M1() { Console.WriteLine("B.M1()"); }  
    }  
      
    public sealed class C : B  
    {  
        /* ConsoleApplication1.MSFun.Sealed.C.M()': 
         * cannot override inherited member 'ConsoleApplication1.MSFun.Sealed.B.M()' 
         * because it is sealed */  
        //protected override void M() { Console.WriteLine("C.M()"); }  
      
        protected override void M1() { Console.WriteLine("C.M1()"); }  
    }  
  • 相关阅读:
    微软 软件的 一组堆成快捷键
    C#事件 的讲解
    软件缺陷分析的几种方法
    一个长三角人对深圳的看法 (转)
    一次LoadRunner的CPC考试经历
    测试是一门武功
    ORACLE的性能测试经验总结
    深圳测试协会第九次论坛在深圳举行
    10月28日参加了IBM的产品推介会
    什么是web安全性测试?
  • 原文地址:https://www.cnblogs.com/ring1992/p/5980336.html
Copyright © 2011-2022 走看看