文档介绍:7 对象 编写一个 Conversions 对象,加入 inchesToCentimeters,gallonsToLiters 和 milesToKilometers 方法 Scala 代码 1. object Conversions{ 2. def inchesToCentimeters(){} 3. def gallonsToLiters(){} 4. def milesToKilometers(){} 5.} 前一个练****不是很面向对象。提供一个通用的超类 UnitConversion 并定义扩展该超类的 InchesToCentimeters,GallonsToLiters 和 MilesToKilometers 对象 Scala 代码 1. abstract class UnitConversion{ 2. 3. def inchesToCentimeters(){} 4. def gallonsToLiters(){} 5. def milesToKilometers(){} 6. 7.} 8. 9. object InchesToCentimeters extends UnitConversion{ 10. override def inchesToCentimeters() {} 11. } 12. 13. object GallonsToLiters extends UnitConversion{ 14. override def gallonsToLiters() {} 15. } 16. 17. object MilesToKilometers extends UnitConversion{ 18. override def milesToKilometers() {} 19. } 定义一个扩展自 的 Origin 对象。为什么说这实际上不是个好主意? ( 仔细看 Point 类的方法) Point 中的 getLocation 方法返回的是 Point 对象,如果想返回 Origin 对象,需要 Origin 类才行 Scala 代码 1. object Origin extends Point with App{ 2. 3. override def getLocation: Point = 4. 5. ( 2,3) 6. println() 7. 8.} 定义一个 Point 类和一个伴生对象, 使得我们可以不用 new 而直接用 Point(3,4) 来构造 Point 实例 apply 方法的使用 Scala 代码 1. class Point(x:Int,y:Int){ 2. override def toString: String = "x ="+x+"y="+y 3.} 4. 5. object Point extends App{ 6. def apply(x:Int,y:Int)={ 7. new Point(x,y) 8.} 9. 10. val p= Point( 1,2) 11. println(p) 12. } 编写一个 Scala 应用程序,