目录

类修饰符参考

本页包含关于 类修饰符 的参考信息。

有效组合

#

类修饰符的有效组合及其产生的功能如下:

声明构造 ?扩展 ?实现 ?混入 ?穷举 ?
class是是是否否
base class是是否否否
interface class是否是否否
final class是否否否否
sealed class否否否否是
abstract class否是是否否
abstract base class否是否否否
abstract interface class否否是否否
abstract final class否否否否否
mixin class是是是是否
base mixin class是是否是否
abstract mixin class否是是是否
abstract base mixin class否是否是否
mixin否否是是否
base mixin否否否是否

无效组合

#

某些 修饰符组合 是不允许的:

组合原因
base 、 interface 和 final所有这些都控制相同两种功能( extend 和 implement ),因此是互斥的。
sealed 和 abstract两者都不能被构造,因此一起使用是冗余的。
sealed 与 base 、 interface 或 finalsealed 类型已经不能从另一个库中混入、扩展或实现,因此与列出的修饰符组合是冗余的。
mixin 和 abstract两者都不能被构造,因此一起使用是冗余的。
mixin 和 interface 、 final 或 sealedmixin 或 mixin class 声明旨在被混入,而列出的修饰符会阻止这种情况。
enum 和任何修饰符enum 声明不能被扩展、实现、混入,并且始终可以被实例化,因此没有修饰符适用于 enum 声明。
extension type 和任何修饰符extension type 声明不能被扩展或混入,并且只能由其他 extension type 声明实现。