随着Kotlin的推出,1.5被引入了sealed interface。即使我知道类和接口之间的区别,我也不清楚在sealed class上使用sealed interface的最佳实践和好处是什么
即使是简单的情况,我现在也应该一直使用interface吗?还是将逐个案例?
谢谢
Obs:没有找到类似的问题,只是关于sealed classes
发布于 2021-09-08 13:08:14
选择使用密封类而不是接口的一个主要原因是,如果存在您不希望为public的公共属性/函数。接口的所有成员始终是公共的。
可以使用扩展函数/属性在接口上绕过成员必须为public的限制,但前提是它不涉及非公开存储状态。
另外,密封接口更灵活,因为它们允许子类型是其他类的子类、枚举类或多个密封接口/类层次结构的子类型。
https://stackoverflow.com/questions/69100358
复制相似问题