Scala的类和构造器在 Scala 中,类是面向对象编程的基本单元,构造器用于初始化类的实例。
一、Scala 类的定义
以下是一个简单的 Scala 类定义:\n\nclass Person(name: String, age: Int) {def sayHello(): Unit = { println("Hello, my name is $name and I am $age years old.\")
在这个例子中, Person 类有两个参数 name 和 age ,在类定义的时候就传递了这两个参数。
二、主构造器
在 Scala 中,类定义中的参数列表实际上就是主构造器的参数。主构造器会执行类体中的所有语句。
例如:class Animal(name: String) {
println(s\"Creating an animal named $name.\")}
当创建一个 Animal 的实例时,会输出创建动物的信息。
三、辅助构造器
Scala 允许定义多个辅助构造器。辅助构造器的名称为 this ,并且必须调用同一个类中的其他构造器。
例如:class Car(model: String) {\n var color: String = "white"
def this(model: String, color: String) {this(model) this.color = color }
这里定义了两个构造器,一个接受一个参数 model ,另一个接受两个参数 model 和 color 。
四、构造器的访问修饰符Scala 中的构造器参数可以有访问修饰符,如 private 、 protected 等。例如:class SecetClass(private val secretValue: Int) {
类的其他方法在这个例子中, secretValue 只能在 SecretClass 内部访问。
总之,Scala 的类和构造器提供了一种灵活的面向对象编程方式,可以根据具体需求定义不同的构造器和访问修饰符来控制类的实例化和属性访问。
scala