如何使 mixin 类“C”成为密封类,不能扩展到其库之外?
class A extends B with C{}
sealed class B{}
mixin class C{}
我不希望 C 类被“A”类以外的类使用
有一些棘手的方法可以实现此目的:
将您的 mixin 标记为私有 mixin,如您所知(dart 中的隐私是库级别而不是类级别),因此它不能在库之外使用。
class A extends B with _C{}
sealed class B{}
mixin class _C{}
另一种方式,你可以将 mixin 转换为密封类,也可以达到你的目的,并实现它(dart中不允许多重继承:钻石问题)
class A extends B implements C{}
sealed class B{}
sealed class C{}
最后,类 C 不能在声明它的库之外使用,可能还有其他方法来实现您的目的。有关更多信息,请参阅类修饰符参考
希望对你有帮助。