美文网首页
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、密封类、密封方法和抽象类、抽象方法

    密封类和密封方法 1. 定义 C#允许把类和方法声明为sealed。对于类,这表示不能被继承(任何类不能继承自这个...

  • Kotlin学习之密封类

    Kotlin学习之密封类 密封类是Kotlin中的一个高级类,有如下特点: 密封类是为继承设计的,是一个抽象类; ...

  • kotlin sealed密封类

    kotlin中sealed关键字修饰的类就是密封类。密封类其实是一种特殊的抽象类,专门用于派生子类的。 密封类的特...

  • 密封类,密封方法

    密封:sealed 对于类,不能被继承(任何类都不能继承) 对于方法不能被重写。 “sealed”,只能写在重写的...

  • 010_密封类和密封方法。

    namespace _010_密封类和密封方法 { //sealed class BaseCLass { //...

  • 重拾Kotlin(6)-抽象类、数据类、密封类、枚举类、匿名内部

    一、抽象类、数据类、密封类、枚举类、匿名内部类、内部类、嵌套类 1.1、抽象类 声明为 abstract 的类内部...

  • 抽象与接口

    抽象类 抽象类和抽象方法必须用abstract修饰 抽象类不能被实例化 抽象类有默认构造方法 有抽象方法毕为抽象类...

  • 面向对象(九)-密封类和密封方法 sealed 与抽象类 abs

    密封类与密封方法 定义:C#允许把类和方法声明为sealed。对于类,这表示不能被继承(任何类不能继承自这个类)。...

  • 抽象类

    1. 抽象方法和抽象类 规则如下:抽象类和抽象方法必须使用abstract修饰符,抽象方法不能有方法体抽象类不能被...

  • 抽象类与接口

    抽象方法和抽象类特点 抽象方法和抽象类必须使用abstract修饰符来定义,有抽象方法的类只能被定义为抽象类,抽象...

网友评论

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

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