利用scala类与对象的定义机制,(1)自定义一个类,并实例化一个对象,然后设置并输出对象各数据成员的值。 (2)在此基础上,自定义两个辅助构造函数,调用并输出对象的数据成员值
时间: 2024-09-20 16:03:38 浏览: 31
在Scala中,我们可以定义一个类来创建对象,并利用其特性进行操作。下面是一个简单的例子:
```scala
// 自定义一个名为Person的类,包含姓名和年龄两个属性
class Person(val name: String, var age: Int) {
// 构造函数初始化对象时设置数据成员
override def toString(): String = s"Name: $name, Age: $age"
// 设定并输出数据成员值的方法
def displayProperties() = println(this.toString())
}
// 实例化一个Person对象
val person1 = new Person("Alice", 30)
// 设置和输出对象数据成员
person1.age = 31 // 可以动态修改数据成员
person1.displayProperties() // 输出 "Name: Alice, Age: 31"
// 现在我们定义两个辅助构造函数,通过名称和默认年龄来简化创建对象
class PersonWithDefaultAge(name: String)(implicit val defaultAge: Int = 18) extends Person(name, defaultAge) {
override def displayProperties() = println(s"Name: $name, Age: ${super.age}")
}
// 使用第二个构造函数实例化对象
val person2 = new PersonWithDefaultAge("Bob")
person2.displayProperties() // 输出 "Name: Bob, Age: 18"
```
在这个例子中,`Person`类有两个基本的构造函数,一个带有两个参数,另一个接受一个字符串作为姓名并隐式接收一个默认年龄。通过这两个构造函数,我们可以方便地创建并初始化不同情况下的Person对象。
阅读全文