当前位置: 移动技术网 > IT编程>开发语言>.net > 密闭类、密闭方法

密闭类、密闭方法

2019年05月25日  | 移动技术网IT编程  | 我要评论

宽带连接设置,cs go 单机,黄义达微博

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()”是密封的,无法进行重写-----看这里看这里        

        { }
     }

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网