博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
密闭类、密闭方法
阅读量:5157 次
发布时间:2019-06-13

本文共 1450 字,大约阅读时间需要 4 分钟。

sealed public void Func()密闭方法

sealed public class C{}  密闭类

密闭的作用: 实现类不可以通过继承来修改,不可以派生子类;实现 方法不可以再被override。

要实现 基类的方法不被重写,就不要用virtual声明该方法。要实现派生类中用override声明的方法不被重写,则需要前加sealed声明。

abstract public class Pet//当包含抽象方法时,必须用abstract声明    {        protected string Name;//protected 保护级别,派生类可访问        public Pet(string name)//基类的构造函数        {            Name = name;        }        public void PrintName()        {            Console.WriteLine("Print" + Name);        }        //virtual public void Speak()   //虚方法//如果该方法够抽象,抽象到其实体是没有机会被用到并且都在该类的派生类中有各种不同实现的情况下,就可以改成抽象方法        //{        //    Console.WriteLine("I'm "+Name);          //}        abstract public void Speak();//抽象方法,其所在类也得换为abstract声明。在其派生类中必须通过override做具体实现    }    public class Dog : Pet    {        public Dog(string name) : base(name)//构造函数//用关键字base调用了基类的构造函数        {        }        new public void PrintName()        {            Console.WriteLine("子打印" + base.Name);        }        //override public void Speak()//重写基类Pet的虚方法        sealed override public void Speak()//声明为密闭方法加了sealed-------------看这里看这里        {            Console.WriteLine("子说" + Name);        }    }    public class Corky:Dog    {        public Corky(string name) : base(name)//构造函数//此处base指的是Dog类        {        }        override public void Speak()//这里报错//错误    CS0239    “Corky.Speak()”: 继承成员“Dog.Speak()”是密封的,无法进行重写-----看这里看这里                { }     }

 

转载于:https://www.cnblogs.com/cicily/p/10916543.html

你可能感兴趣的文章
linux搭建PHP开发环境
查看>>
读取InputStream 中的内容
查看>>
map和pair配合使用,一个空格引发的血案
查看>>
scrum 12.4
查看>>
kindof
查看>>
(一)Linux? Ubuntu or CentOS? Linux安装
查看>>
hdu 1806 rmq
查看>>
Xamarin开发教程如何使用Xamarin开发Android应用
查看>>
HTTP Slow Attack测试工具SlowHTTPTest
查看>>
BZOJ1390 CEOI2008 Fences 凸包、Floyd最小环/DP
查看>>
Python19/1/11--标签与过滤器/Django模块导入继承/静态文件配置
查看>>
SQL-Oracle游标
查看>>
The literal of int xxxxx is out of range
查看>>
隐性反馈行为数据的协同过滤推荐算法
查看>>
java 线程 捕获异常
查看>>
网站优化之Apache2.4GZIP功能
查看>>
ASP.NET Core读取appsettings.json配置文件信息
查看>>
Netty进阶和实战
查看>>
SVG_图形中空部分可点选
查看>>
vue项目,axios请求图片接口,接口返回的是文件流的形式,如何转换成图片?...
查看>>