Scala-Scala语言的面向对象 练习之-类的构造器+apply方法

Posted on 2020-05-31 23:55  MissRong  阅读(219)  评论(0)    收藏  举报

Scala-Scala语言的面向对象 练习之-类的构造器+apply方法

定义一个student类

有name、sex等属性(使用主构造器定义)

获取对象的方式有以下两种方式:

var s=new student(“张三”,”男”)

var s1=new student(“lisi”)  可以少传参数,使用辅助构造器

var s2=student(“小红”,”女”)  省略new,使用apply方法

Scala代码实现:

package mianxiangduixiang.lei

/**
  * Scala语言的面向对象 练习之:类的构造器+apply方法
  * 定义一个Student类
  * 有name、sex等属性(使用主构造器定义)
  * 获取对象的方式有以下两种方式:
  * var s=new Student(“张三”,”男”)
  * var s1=new Student(“lisi”)  可以少传参数,使用辅助构造器
  * var s2=Student(“小红”,”女”)  省略new,使用apply方法
  */
class Student(var stuName:String,var stuSex:String){
  //辅助构造器
  def this(name:String){
    //调用主构造器
    this(name,"unknown")
  }
}
object Student{
  //使用apply方法
  def apply(name: String,sex: String)={
    new Student(name,sex)
  }
  def main(args: Array[String]): Unit = {
    var s=new Student("张三","男")
    println(s.stuName+"\t"+s.stuSex)    //张三    男
    var s1=new Student("lisi")
    println(s1.stuName+"\t"+s1.stuSex)  //lisi    unknown
    var s2=Student("小红","女")
    println(s2.stuName+"\t"+s2.stuSex)  //小红    女
  }
}

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3