Scala学习3之快学scala第五章习题之构造器
2016-02-24 22:50
375 查看
快学scala第五章习题之构造器:
6.8 创建一个Car类,以只读属性对应制造商,型号名称,型号年份以及一个可读写的属性用于车牌。提供四组构造器。每个构造器fc都要求制造商和型号为必填。型号年份和车牌可选,如果未填,则型号年份为-1,车牌为空串。你会选择哪一个作为你的主构造器?为什么?
选择四个属性的,其他构造器可以在此基础上直接赋值
代码:
执行结果:
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
相关文章推荐
- 设计模式之创建型模式 - 特别的变量问题
- Windows下Scala环境搭建
- Windows7下安装Scala 2.9.2教程
- c# 引用类型构造器
- Java基础教程之构造器与方法重载
- Scala代码实现列出Hadoop 文件夹下面的所有文件
- ClassNotFoundException:scala.PreDef$
- sbt创建web项目
- XML 文件解析--含Unicode字符的XML文件
- 分分钟掌握快速排序(Java / Scala 实现)
- Scala极速入门
- Spark初探
- Scala实现REST操作
- Scala method call syntax
- 关于Scala多重继承的菱形问题
- Scala 高阶函数(high-order function)剖析
- Scala Monad Design Pattern
- Spray.io搭建Rest服务
- Spray.io搭建Rest — 支持Twirl模板并部署
- 搭建hadoop/spark集群环境