用scala语言定义一个类Person,参数列表包含name、age、sex三个参数,同时想让该 类可以接收第四个参数studentID实例化,也想要接收第五个和第六个参数 highweight进行实例化,实例化以后,打印欢迎信息
时间: 2024-10-23 11:18:27 浏览: 12
Scala可变参数列表,命名参数和参数缺省详解
在Scala中,你可以定义一个名为`Person`的类,并允许有不同的构造函数以适应不同的参数情况。这里是一个例子:
```scala
class Person(val name: String, val age: Int, var sex: String) {
// 如果需要一个学生ID参数
def this(name: String, age: Int, sex: String, studentID: String) = this(name, age, sex)
// 同样地,如果需要highWeight参数
def this(name: String, age: Int, sex: String, studentID: String, highWeight: Boolean) = this(name, age, sex, studentID)
// 定义一个打印欢迎信息的方法
def welcomeMessage(): Unit = {
println(s"欢迎,$name! 你是一名${if (highWeight) "重量级" else ""}的${if (sex == "Male") "男性" else "女性"},学生ID为$studentID,年龄为$age。")
}
}
// 示例用法
val person1 = new Person("Alice", 20, "Female", "123456")
person1.welcomeMessage()
val person2 = new Person("Bob", 25, "Male", "789012", true)
person2.welcomeMessage()
```
在这个类中,我们首先定义了一个基本的构造函数接受前三个参数,然后添加了两个额外的构造函数,分别处理包含第四个和第五个(以及第六个)参数的情况。`welcomeMessage()`方法用于打印欢迎信息,会根据提供的参数展示对应的内容。
阅读全文