用scala定义一个类Person,定义name和age属性,定义有参的构造方法对name和age进行初始化。在测试类中创建该类的2个对象,姓名、年龄分别为lili、19和lucy、20,在屏幕打印出2个对象的姓名和年龄。
时间: 2024-10-24 17:03:45 浏览: 11
在Scala中,你可以定义一个名为`Person`的类,它包含`name`和`age`两个属性以及一个有参构造函数来进行初始化。以下是详细的步骤:
```scala
// 定义 Person 类
class Person(val name: String, var age: Int) {
// 构造方法
def this() = this("未知", 0) // 默认无参数构造函数
}
// 测试类,用于创建并操作 Person 对象
object TestPerson {
def main(args: Array[String]): Unit = {
// 创建第一个对象 lili
val person1 = new Person("lili", 19)
// 创建第二个对象 lucy
val person2 = new Person("lucy", 20)
// 打印对象信息
println(s"Person 1: Name - $person1.name, Age - $person1.age")
println(s"Person 2: Name - $person2.name, Age - $person2.age")
}
}
```
当你运行这个`TestPerson`主程序时,它会在屏幕上分别打印出 `Person 1: Name - lili, Age - 19` 和 `Person 2: Name - lucy, Age - 20`。
相关问题
C语言Scala定义一个类Person,定义name和age属性,定义有参的构造方法对name和age进行初始化。在测试类中创建该类的2个对象,姓名、年龄分别为lili、19和lucy、20,在屏幕打印出2个对象的姓名和年龄。
在C语言中,Scala并不是直接支持类的概念,因为Scala更偏向于函数式编程,但它可以在Scala语法下创建类似类的行为。如果你想要创建一个模拟类Person的结构,你可以使用case class关键字,类似于C#或Java的类定义。以下是相应的代码:
```scala
// 定义名为Person的case class
case class Person(name: String, age: Int) {
// 构造方法用于初始化name和age
def this() = this("", 0)
}
// 测试类
object Main {
// 创建两个Person对象
val person1 = Person("lili", 19)
val person2 = Person("lucy", 20)
// 打印对象的姓名和年龄
println(s"Person 1: Name - $person1.name, Age - $person1.age")
println(s"Person 2: Name - $person2.name, Age - $person2.age")
}
```
当你运行Main对象时,它会在控制台上输出每个Person对象的姓名和年龄。
利用SCALA类与对象的定义机制 自定义一个类,并实例化一个对象,然后设置并输出对象各数据成员值 在此基础上,自定义两个辅助构造函数,调用并输出对象的数据成员值
在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`属性是在调用辅助构造函数时添加的。
阅读全文