美文网首页
20、密封类、密封方法和抽象类、抽象方法

20、密封类、密封方法和抽象类、抽象方法

作者: Peuimporte | 来源:发表于2021-11-01 09:41 被阅读0次

    密封类和密封方法

    1. 定义

    C#允许把类和方法声明为sealed。对于类,这表示不能被继承(任何类不能继承自这个类)。对于方法表示不能被重写。
    注意点 :
    sealed 只能写在重写的方法上,写上以后,表示该方法不能被该类的子类重写了。

    2. 案例:

    • 错误的写法
    sealed class baseClass{
    
    }
    
    // 错误的写法
    class DerivedClass : baseClass { // 任何的类无法继承baseClass
    
    }
    
    • 正确写法
    class baseClass{
        public virtual void function(){};
    }
    
    class DerivedClass : baseClass{
        public sealed override void function(){}; //  可以将重写的方法声明为密封方法,表示该方法不能被重写。
    }
    

    抽象类和抽象方法

    1. 关键字 abstract

    2. 作用 :

    可以在父类中定义一个函数,但是不去实现。
    所有继承自该类的子类都必须实现该类中的所有抽象函数。
    

    3. 注意点:

    不可以用抽象类来进行实例化,但可以用抽象类来声明。
    但凡某一个类中有一个抽象方法,那么该类也就必须定义为抽象类。
    

    4. 案例

        abstract class Enemy
        {
            abstract public void attack();
        }
    
        class Boss : Enemy
        {
            public override void attack()
            {
                Console.WriteLine("我打人挺疼的");
            }
        }
    

    相关文章

      网友评论

          本文标题:20、密封类、密封方法和抽象类、抽象方法

          本文链接:https://www.haomeiwen.com/subject/bkkzaltx.html