Classes and Objects
Immutable Records
Read fixed fields and calculate a derived value.
Immutable Records
ImmutableRecord.scala
class Point(val x: Int, val y: Int) {
def summary: String = {
x + "," + y
}
override def toString: String = "[point]"
}
object Main {
def main(args: Array[String]): Unit = {
val dx =
val point = new Point(3, 5)
val movedX = point.x + dx
val movedSummary = movedX + "," + point.y
println("original=" + point.summary)
println("moved=" + movedSummary)
}
}
class Point(val x: Int, val y: Int) {
def summary: String = {
x + "," + y
}
override def toString: String = "[point]"
}
object Main {
def main(args: Array[String]): Unit = {
val dx =
val point = new Point(3, 5)
val movedX = point.x + dx
val movedSummary = movedX + "," + point.y
println("original=" + point.summary)
println("moved=" + movedSummary)
}
}
class Point(val x: Int, val y: Int) {
def summary: String = {
x + "," + y
}
override def toString: String = "[point]"
}
object Main {
def main(args: Array[String]): Unit = {
val dx =
val point = new Point(3, 5)
val movedX = point.x + dx
val movedSummary = movedX + "," + point.y
println("original=" + point.summary)
println("moved=" + movedSummary)
}
}
immutable-record
An immutable object keeps its fields fixed. Code can calculate derived values without changing the object.