利用SCALA类与对象的定义机制 自定义一个类,并实例化一个对象,然后设置并输出对象各数据成员值 在此基础上,自定义两个辅助构造函数,调用并输出对象的数据成员值
时间: 2024-09-18 12:10:29 浏览: 44
在Scala中,我们可以利用其强大的面向对象特性定义一个类,包括数据成员变量(也称为属性或字段),以及构造函数来初始化这些成员。下面是一个简单的例子:
```scala
class Person(name: String, age: Int) {
// 数据成员
var nameValue: String = name
var ageValue: Int = age
// 主构造函数
def this() = this("Unknown", 0) // 默认构造函数,如果未提供name和age则设置默认值
// 辅助构造函数
def customConstructor(hobby: String): Person = {
val person = new Person(nameValue, ageValue)
person.hobby = hobby // 添加新属性
person
}
// 输出数据成员
override def toString(): String = s"Person: Name - $nameValue, Age - $ageValue, Hobby - ${hobby.getOrElse("No hobby")}"
}
// 实例化对象并设置数据成员值
val jane = Person("Jane", 30)
// 调用辅助构造函数,并输出数据成员
val john = jane.customConstructor("Reading")
println(john) // Person: Name - Jane, Age - 30, Hobby - Reading
```
在这个例子中,我们定义了一个`Person`类,有两个数据成员`nameValue`和`ageValue`,主构造函数接受`name`和`age`作为参数,而辅助构造函数`customConstructor`接受一个`hobby`参数。`toString`方法用于展示对象的信息。
你可以根据需要创建对象并调用构造函数,如上面的`jane`和`john`实例所示。`john`的`hobby`属性是在调用辅助构造函数时添加的。
阅读全文