
你现在的位置 4 105
classes and objects
类和对象
到目前为止,你已经了解了如何通过类的构造函数来定义属性,以及如何在调
用构造函数时为属性赋值。但是如果你想要做一些不同的事情呢?如果你想在
为属性赋值之前验证所赋的值的正确性呢?或者,如果你想要避免向构造函数
传递属性值,而使用通用的默认值来初始化属性,该怎么办?
想要了解如何完成这些任务,我们需要仔细研读构造函数的代码。
在这段代码中,构造函数的三个参数name_param、weight_param和
breed_param均没有val或var前缀,这意味着构造函数并没有直接创建
新的属性。这些参数现在就和你之前见到的函数的定义中的参数一样。而
name、weight和breed属性则在类的主题中被定义。每个属性根据传入
构造函数中的参数值赋值。
那么,这种构造函数定义的方式怎么能让我们对属性进行更多的操作呢?
深入了解属性
Dog
构造函数背后的原理
就像你已经了解到的,我们现有的Dog构造函数代码为每个Dog对象定义了三
个属性:name、weight和breed,并且在其被调用时为属性进行了初始化赋
值:
class Dog(val name: String, var weight: Int, val breed: String) {
...
}
由于构造函数代码使用了快捷方式来执行这些操作,所以你仅需简洁的代码就
能完成这些任务。当
Kotlin
语言被开发出来时,它的开发者们认为定义和初始
化是一种常见的行为,并且他们认为简化定义和初始化的语法是有必要的。 ...