1.抽象类( abstract class )*不可实例化、可继承(单)、包含抽象与非抽象成员
抽象类是包含抽象成员(无实现)的类,核心作用是“定义基类模板,强制子类实现核心行为”,不能直接实例化。
- 用 abstract 关键字定义,可包含抽象成员( abstract 方法/属性 )和非抽象成员(有实现);
- 子类必须用 override 实现所有抽象成员(除非子类也是抽象类);
- 支持单继承(子类只能继承一个抽象类),是“部分实现+部分抽象”的设计。
2.密封类( sealed class ) *可实例化、不可继承、仅含抽象成员(或密封重写成员)
密封类是禁止被继承的类,核心作用是“阻止类被扩展,保护核心逻辑不被修改”,可直接实例化。
- 用 sealed 关键字定义,不能作为父类(子类无法继承);
- 可包含任意非抽象成员(无特殊限制),也可密封方法( sealed override ,阻止子类重写父类虚方法);
