Kotlin中的课程属性应该是私人的,以及如何访问它们?

阿罗哈! 在阅读Kotling Language Reference时,我注意到一个类的属性关键字“private”永远不会被使用(总是默认是公有的)。 它也表示getter和setter是自动生成的。 所以我创建了班级,并把它的领域变成了私人 但是,当我创建这个类的对象时,我看不到这些字段,除非我自己写这些字段,否则没有setter和getter可用。 那么这里的规则是什么? 保留可见性修饰符默认(公共),或使他们私人,并提供增变剂方法? 谢谢。

整个财产的概念是它将一个领域和它的访问者封装在一个单一的实体中。 如果您需要能够从外部访问和修改某个课程的属性,则应该将该属性公开。 如果您需要能够从外部读取但不更新,则可以使用私人访问者定义公共属性。

将默认访问器更改为自定义访问器不会影响类的客户端,因为编译器总是会生成访问器方法,而类的客户端将使用这些方法,并且不会直接访问底层字段。

你不应该写明确的getter或mutator方法,这是独立于属性访问器。