您的位置:首页 > 其它

Scala学习3之快学scala第五章习题之构造器

2016-02-24 22:50 375 查看
快学scala第五章习题之构造器:

6.8 创建一个Car类,以只读属性对应制造商,型号名称,型号年份以及一个可读写的属性用于车牌。提供四组构造器。每个构造器fc都要求制造商和型号为必填。型号年份和车牌可选,如果未填,则型号年份为-1,车牌为空串。你会选择哪一个作为你的主构造器?为什么? 

选择四个属性的,其他构造器可以在此基础上直接赋值

代码:

package Chapter5

object Car5 {
def main(arg:Array[String]){
var car1=new Car("BWM","A6")
car1.PrintAll()
var car2=new Car("BWM","A6",2000)
car2.PrintAll()
var car3=new Car("BWM","A6","A01")
car3.PrintAll()
var car4=new Car("BWM","A6",2000,"A01")
car4.PrintAll()
}

class Car( val producerName:String,val productName:String,val productyear:Int,var num:String){
def this( producerName:String, productName:String){
this(producerName, productName,-1,"")

}
def this( producerName:String, productName:String,productyear:Int){
this(producerName, productName,productyear,"")
}
def this( producerName:String, productName:String,num:String){
this( producerName:String, productName:String,-1,num)
}
def PrintAll(){
println("producerName:"+producerName+" productName:"+productName+" productyear:"+productyear+" num:"+num)
}
}
}


执行结果:

producerName:BWM productName:A6 productyear:-1 num:
producerName:BWM productName:A6 productyear:2000 num:
producerName:BWM productName:A6 productyear:-1 num:A01
producerName:BWM productName:A6 productyear:2000 num:A01
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息