欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

抽象成员 抽象类(abstract)、密封类(sealed)

程序员文章站 2024-02-17 16:31:40
...

抽象成员(类似C++中的纯虚函数)

抽象成员是指设计为被覆写的函数成员,抽象成员只能在抽象类中声明,它有以下特征:
(1)必须是一个函数成员,也就是说,字段和常量不能为抽象成员
(2)必须用abstract修饰符标记
(3)不能有实现代码块,抽象成员的代码用分号表示
(4)尽管抽象成员必须在派生类中用相应的成员覆写,但不能把virtual修饰符加到abstract修饰符
(5)类似虚成员,派生类中抽象成员的实现必须指定override修饰符

抽象成员与虚成员对比

抽象成员 抽象类(abstract)、密封类(sealed)

抽象类

抽象类就是指设计为被继承的类,抽象类只能被用做其他类的基类,它有以下特征:
(1)不能创建抽象类的实例
(2)抽象类使用abstract修饰符声明
(3)抽象类可以包含抽象成员或普通的非抽象成员,抽象类的成员可以是抽象成员和普通带有实现的成员的任意组合
(4)抽象类自己可以继承另一个抽象类

    abstract class A{}
    abstract class B : A{}

(5)任何派生自抽象类的类,必须使用override关键字实现该类所有的抽象成员,除非派生类自己也是抽象类

密封类

抽象类必须用做基类,且不能像独立的类那样被实例化,密封类与它相反,密封类只能被用做独立的类,它不能被用作基类,也就是它不能被继承,密封类使用sealed修饰符标注

    sealed class A{}
    //class B : A { } 继承自A则会出错