sealed class 与 kotlin 中的 sealed 接口有什么区别
What is the difference between sealed class vs sealed interface in kotlin
Kotlin 1.5
引入了 sealed interface
。即使我知道 类 和接口之间的区别,我也不清楚使用 sealed interface
而不是 sealed class
的最佳实践和好处是什么
我现在应该总是使用 interface
即使是简单的情况吗?还是具体情况?
谢谢
Obs:没有找到类似的问题,只关于sealed classes
选择使用密封 class 而不是接口的一个主要原因是,如果存在您不想成为 public
的常见 property/function。接口的所有成员总是 public.
成员必须是 public
的限制可以在使用扩展 functions/properties 的接口上解决,但前提是它不涉及非 public 存储状态。
否则,密封接口更灵活,因为它们允许子类型成为其他东西的子class,枚举class,或多个密封interface/class层次结构的子类型.
Kotlin 1.5
引入了 sealed interface
。即使我知道 类 和接口之间的区别,我也不清楚使用 sealed interface
而不是 sealed class
我现在应该总是使用 interface
即使是简单的情况吗?还是具体情况?
谢谢
Obs:没有找到类似的问题,只关于sealed classes
选择使用密封 class 而不是接口的一个主要原因是,如果存在您不想成为 public
的常见 property/function。接口的所有成员总是 public.
成员必须是 public
的限制可以在使用扩展 functions/properties 的接口上解决,但前提是它不涉及非 public 存储状态。
否则,密封接口更灵活,因为它们允许子类型成为其他东西的子class,枚举class,或多个密封interface/class层次结构的子类型.