【发布时间】:2021-05-24 06:42:59
【问题描述】:
我想尽可能以最好的方式构建我的代码,但我遇到了一个问题。 我想将绘制数据的任务委托给另一个对象。但是,这个其他对象需要访问第一个对象的私有字段。
我有这段代码:
class Grid {
private val matrix = Array<Array<Int?>>(10) { Array(10) { null } }
private val gridDraw = GridDraw(this)
fun draw(canvas: Canvas) {
gridDraw.draw(canvas)
}
...
}
我希望 GridDraw 对象的 draw() 方法访问矩阵属性。如果矩阵是私有字段并且我不想将其公开,我不能这样做。
我不喜欢在 draw 方法中传递矩阵的想法,因为将来我可能需要向该方法添加更多参数。
有没有办法解决这个问题?
【问题讨论】:
标签: kotlin design-patterns delegates structure access-modifiers