Kotlin语法糖:使var在构造函数中全部私有

时间:2018-08-04 07:08:33

标签: constructor kotlin private

我是Kotlin的新手,对它包含的所有有用的语法糖和功能感到惊讶。

但是,每当我声明构造函数时,我都必须将所有字段都独立设置为私有。

class Result(private val startTime: String?, private val stopTime: String?, 
             private val niveau: Int, private val contraction: String?,
             private val VPcount: Int, private val VNcount: Int, 
             private val FPcount: Int, private val FNcount: Int) {...}

有什么办法可以写这样的东西吗?

class Result(private {val startTime: String?, val stopTime: String?, 
             val niveau: Int, val contraction: String?,
             val VPcount: Int, val VNcount: Int, 
             val FPcount: Int, val FNcount: Int}) {...}

我在the doc中找不到关于此的任何信息...

1 个答案:

答案 0 :(得分:2)

目前无法执行此操作。默认可见性是公开的,您只能基于每个属性对其进行更改。

也许您的类可以实现一个不暴露所有这些属性的接口,并且您可以将其实例作为该类型传递给客户端代码-尽管我不知道您的确切情况和要求。