当前位置:  编程技术>.net/c#/asp.net

学习C#的密封类与密封方法

    来源: 互联网  发布时间:2014-08-30

    本文导语:  1,密封类 密封类可以用来限制扩展性,当在程序中密封了某个类时,其他类不能从该类继承,可防止对垒进行自定义。 2,定义密封类——sealed   sealed class MySealedClass {} 3,密封方法 以下代码用到了virtual(虚拟)修饰符 vir...

1,密封类
密封类可以用来限制扩展性,当在程序中密封了某个类时,其他类不能从该类继承,可防止对垒进行自定义。

2,定义密封类——sealed
 

sealed class MySealedClass
{}

3,密封方法
以下代码用到了virtual(虚拟)修饰符
virtual 关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。
例如,此方法可被任何继承它的类重写。

默认情况下,方法是非虚拟的。 不能重写非虚方法。

virtual 修饰符不能与 static、abstract, private 或 override 修饰符一起使用。

除了声明和调用语法不同外,虚拟属性的行为与抽象方法一样。

在静态属性上使用 virtual 修饰符是错误的。
通过包括使用 override 修饰符的属性声明,可在派生类中重写虚拟继承属性。

c#密封类的一个例子。
 

代码示例:

namespace 密封方法
{
    class Program
    {
        static void Main(string[] args)
        {
            Class2 myMethod = new Class2();
            myMethod.MyMethod();

            Console.ReadLine();
        }
    }
    class Class1
    {
        public Class1()
        {
            Console.WriteLine("创建Class1的类型变量");
        }

        public virtual void MyMethod()
        {
            Console.WriteLine("这是一个方法");
        }
    }
    class Class2 : Class1
    {
        public Class2()
        {
            Console.WriteLine("创建Class2的类型变量");
        }
        public sealed override void MyMethod()
        {

            Console.WriteLine("这是一个密封方法!");
        }
    }
}

总结:
C#允许把类或方法声明为sealed.对于类来说,这表示不能继承该类。
对于方法来说,这表示不能重写方法。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我准备学习Java,重点在J2EE,高分向大家讨教学习的思路和方法!!!
  • 初学者求教Lynux的学习方法
  • 请教学习JAVA的最佳方法?以免走弯路
  • 请教学习Linux的快速上手的方法?
  • 加入linux,学习流程和方法问题,请指点
  • linux学习方法
  • 嵌入式学习方法
  • 学习linux有什么好的方法?
  • 讨论学习linux的方法
  • GridBagLayout好繁啊,有没有好的方法学习?
  • 高分求linux最佳,最快学习方法,以及好的书籍和资料?
  • 请教linux下网络编程学习方法
  • 我的专业是网络技术,对TCP/IP有一定的了解但不精,想要学习linux下的网络编程,请大家推荐学习方法和优秀的书籍
  • 请教学习linux的方法
  • 大家一起来谈谈学习嵌入式的过程,方法和心得
  • 请大家指教一下 Linux 的学习方法和相关的书籍!!!
  • 给我一些学习浙大出版的《linux内核源代码情景分析》的方法建议
  • 求救学习方法。(100分)
  • 请高手帮助指导一下学习JAVA的方法与经典书籍
  • Python学习笔记_数据排序方法
  • PHP介绍及学习网站推荐
  • 想深入学习Java应该学习哪些东西
  • 准备学习docker: docker version命令查看版本
  • 新手提问:学习c++同时也想学习unix和linux
  • HTML 学习总结及下一步学习教程推荐
  • 学习c后,学习pb,大家提点建议,谢谢哦
  • OpenStack相关学习资料搜集
  • 有最近开始学习Minix的吗?一起来学习吧
  • juqery的python实现:pyquery学习使用教程
  • 我想问问哪里有AIX下啊!~版本越新越好!~我想拿来学习学习
  • 想找共同学习Linux的新手,一起学习,共同成长


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3