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

快学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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值