类修饰符参考
此页面包含 类修饰符 的参考信息。
有效组合
#类修饰符的有效组合及其产生的功能如下
声明 | 构造? | 扩展? | 实现? | 混入? | 穷举? |
---|---|---|---|---|---|
类 | 是 | 是 | 是 | 否 | 否 |
基类 | 是 | 是 | 否 | 否 | 否 |
接口类 | 是 | 否 | 是 | 否 | 否 |
最终类 | 是 | 否 | 否 | 否 | 否 |
密封类 | 否 | 否 | 否 | 否 | 是 |
抽象类 | 否 | 是 | 是 | 否 | 否 |
抽象基类 | 否 | 是 | 否 | 否 | 否 |
抽象接口类 | 否 | 否 | 是 | 否 | 否 |
抽象最终类 | 否 | 否 | 否 | 否 | 否 |
混入类 | 是 | 是 | 是 | 是 | 否 |
基混入类 | 是 | 是 | 否 | 是 | 否 |
抽象混入类 | 否 | 是 | 是 | 是 | 否 |
抽象基混入类 | 否 | 是 | 否 | 是 | 否 |
混入 | 否 | 否 | 是 | 是 | 否 |
基混入 | 否 | 否 | 否 | 是 | 否 |
无效组合
#某些 组合 的修饰符是不允许的
组合 | 原因 |
---|---|
base 、interface 和 final | 所有这些都控制相同两个功能(extend 和 implement ),因此是互斥的。 |
sealed 和 abstract | 两者都不能被构造,因此组合在一起是冗余的。 |
sealed 与 base 、interface 或 final | sealed 类型已经不能从另一个库中混入、扩展或实现,因此与列出的修饰符组合是冗余的。 |
mixin 和 abstract | 两者都不能被构造,因此组合在一起是冗余的。 |
mixin 和 interface 、final 或 sealed | mixin 或 mixin class 声明旨在被混入,而列出的修饰符阻止了这一点。 |
enum 和任何修饰符 | enum 声明不能扩展、实现、混入,并且始终可以实例化,因此没有修饰符适用于 enum 声明。 |
extension type 和任何修饰符 | extension type 声明不能扩展或混入,并且只能由其他 extension type 声明实现。 |
除非另有说明,否则本网站上的文档反映的是 Dart 3.5.3。页面上次更新于 2024-08-04。 查看源代码 或 报告问题。