class的使用

48 阅读2分钟

class的使用

主构造器

scala

class User(val phone: String, var pwd: String) {
  var email: String = ""
  var name: String = ""
  // 其他代码
}
  • class User(val phone: String, var pwd: String) 是主构造器。主构造器的参数直接跟在类名后面。
  • val phone: String 表示 phone 是一个不可变(val)的成员变量,类型为 String
  • var pwd: String 表示 pwd 是一个可变(var)的成员变量,类型为 String
  • 同时在类内部还定义了另外两个可变成员变量 email 和 name,初始值都为空字符串 ""

辅构造器

Scala 中可以有多个辅构造器,辅构造器的名称是 this,并且每个辅构造器都必须调用主构造器或者其他已经定义的辅构造器(且必须是第一条语句)。

  • 第一个辅构造器:

scala

def this(email: String, name: String, pwd: String) {
  this("", pwd) // 调用主构造器,传入空字符串作为 phone 的值,pwd 传入参数 pwd
  this.name = name // 给 name 成员变量赋值
  this.email = email // 给 email 成员变量赋值
}
  • 第二个辅构造器:

scala

def this(email: String, name: String, pwd: String, phone: String) {
  this(phone, pwd) // 调用主构造器,传入参数 phone 和 pwd
  this.name = name // 给 name 成员变量赋值
  this.email = email // 给 email 成员变量赋值
}

方法 say

scala

def say(): Unit = {
  println(s"我的信息如下:")
  println(s"姓名:${name}")
  println(s"手机号:${phone}")
  println(s"邮箱:${email}")
  println(s"密码:${pwd}")
}
  • 这是一个名为 say 的方法,返回值类型是 Unit(类似于 Java 中的 void,表示没有返回值)。
  • 方法内部使用 Scala 的字符串插值(s"...")来格式化输出 User 对象的 namephoneemail 和 pwd 这几个成员变量的值。

总的来说,这段代码定义了一个 User 类,通过主构造器和辅构造器可以灵活地创建 User 对象,并且通过 say 方法可以打印出用户的相关信息