class Point(val xc: Int, val xy: Int) {
var x: Int = xc
var y: Int = xy
def move(dx: Int, dy: Int): Unit = {
x = x + dx
y = y + dy
//打印移动后的坐标
println("x 坐标:" + x)
println("y 坐标:" + y)
}
}
//继承了父类的所有属性和方法
//重写父类的非抽象方法,要用override
//重写父类的抽象方法,不可以使用override
class Location(override val xc: Int, override val xy: Int, val zc: Int) extends Point(xc, xy) {
var z: Int = zc
def move(dx: Int, dy: Int, dz: Int): Unit = {
x = x + dx
y = y + dy
z = z + dz
//打印移动后的坐标
println("x 坐标:" + x)
println("y 坐标:" + y)
println("z 坐标:" + z)
}
}
object testClass {
def main(args: Array[String]): Unit = {
val location = new Location(1, 2, 3)
location.move(1, 2, 3)
println(location.isInstanceOf[Location])
location.asInstanceOf[Point]
println(classOf[Location])
}
}
scala自学之路-23-继承
最新推荐文章于 2024-09-21 22:39:15 发布