Class 在Kotlin中是否有方法仅使用对象(或类)的名称访问对象(或类)的特定成员?像默认成员一样

Class 在Kotlin中是否有方法仅使用对象(或类)的名称访问对象(或类)的特定成员?像默认成员一样,class,object,kotlin,member,Class,Object,Kotlin,Member,例如,我想创建一个矩阵对象(3x3),它有一个数组“默认成员”: 不必写入矩阵。矩阵[1][2]您可以使用来访问元素: object Matrix { val matrix: Array<Array<Double>> = Array(3) { Array(3) { 0.0 } } operator fun get(i: Int) = matrix[i] } 对象矩阵{ val矩阵:Array=Array(3){Array(3){0.0} 运算符fun g

例如,我想创建一个
矩阵
对象(3x3),它有一个
数组
“默认成员”:

不必写入矩阵。矩阵[1][2]

您可以使用来访问元素:

object Matrix {
    val matrix: Array<Array<Double>> = Array(3) { Array(3) { 0.0 } }
    operator fun get(i: Int) = matrix[i]
}
对象矩阵{
val矩阵:Array=Array(3){Array(3){0.0}
运算符fun get(i:Int)=矩阵[i]
}
或者,您也可以这样重载它:

object Matrix {
    val matrix: Array<Array<Double>> = Array(3) { Array(3) { 0.0 } }
    operator fun get(i: Int, j: Int) = matrix[i][j]
}
对象矩阵{
val矩阵:Array=Array(3){Array(3){0.0}
运算符fun get(i:Int,j:Int)=矩阵[i][j]
}
这允许像
Matrix[i,j]

这两个选项可以同时使用。

您可以使用来访问元素:

object Matrix {
    val matrix: Array<Array<Double>> = Array(3) { Array(3) { 0.0 } }
    operator fun get(i: Int) = matrix[i]
}
对象矩阵{
val矩阵:Array=Array(3){Array(3){0.0}
运算符fun get(i:Int)=矩阵[i]
}
或者,您也可以这样重载它:

object Matrix {
    val matrix: Array<Array<Double>> = Array(3) { Array(3) { 0.0 } }
    operator fun get(i: Int, j: Int) = matrix[i][j]
}
对象矩阵{
val矩阵:Array=Array(3){Array(3){0.0}
运算符fun get(i:Int,j:Int)=矩阵[i][j]
}
这允许像
Matrix[i,j]

这两者可以同时使用