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) //小红 女
}
}