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

2021-11-01  本文已影响0人  Peuimporte

密封类和密封方法

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("我打人挺疼的");
        }
    }
上一篇下一篇

猜你喜欢

热点阅读