zoukankan      html  css  js  c++  java
  • sealed关键字用法

    http://www.cnblogs.com/YangFengHui/archive/2011/04/18/2020095.html

    Sealed英文意思是密封的。顾名思义,该关键字修饰类时,密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时,sealed 修饰符必须始终与 override 一起使用。

      也就是说要想用sealed修饰方法,则被修饰的方法必须是改写父类的方法。sealed 跟override一起使用。这个sealed关键字跟java中的Final关键字是一样的用法。使类不能再被继承,方法不能在重写。 因为接口,抽象类是只能被继承的,所以sealed关键字不能修饰抽象类,接口。 MSDN上还有解释说结构是被隐式密封,这就是结构不能被继承的原因。

    public class Person
        {
             string name;
             int age;
             public virtual void SayHello()        
             {
                 Console.WriteLine("I am Person Class Object");
             }
        }
        public  class Chinese:Person
        {
            public sealed override void SayHello() //sealed关键字与override一起用,此方法不能被子类改写
            {
                Console.WriteLine("I am Chinesese Object");
            }
        }
        public sealed class A : Chinese      //该类也不能被继承了。
        {
            string school = "GDPU";
            //public override void SayHello(){}  改写报错,该成员是密封的,无法进行重写
        }
    作者:GY小小鸟
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    设计模式 23
    生活杂谈
    设计模式经典书籍
    ABP 样板开发框架系列
    关键字
    vs 2015
    优秀文章推荐
    Parallel 并行编程
    CSRF
    sql性能优化
  • 原文地址:https://www.cnblogs.com/chulia20002001/p/2349315.html
Copyright © 2011-2022 走看看