scala_类的继承
发布时间:2020-12-16 18:54:15 所属栏目:安全 来源:网络整理
导读:Scala继承一个基类跟Java很相似,但我们需要注意以下几点: 重写一个非抽象方法必须使用override修饰符,以及重写父类属性也必须使用override修饰符。 只有主构造函数才可以往基类的构造函数里写参数。 在子类中重写超类的抽象方法时,你不需要使用override关
Scala继承一个基类跟Java很相似,但我们需要注意以下几点:
1 class Point(val xc: Int,val yc: Int){ 2 var x: Int = xc 3 var y: Int = yc 4 def move(dx: Int,dy: Int): Unit ={ 5 x = x + dx 6 y = y + dy 7 println("x点的坐标是:" + x) 8 println("y点的坐标是:" + y) 9 } 10 11 var name = "" 12 override def toString = getClass.getName + "[name=" + name + "]" 13 } 1 class Location(override val xc: Int,override val yc: Int, 2 val zc: Int) extends Point(xc,yc){ // 继承 重写了父类的字段 3 var z: Int = zc 4 def move(dx: Int,dy: Int,dz: Int){ 5 x = x + dx 6 y = y + dy 7 z = z + dz 8 println("x点的坐标是:" + x) 9 println("y点的坐标是:" + y) 10 println("z点的坐标是:" + z) 11 } 12 13 var salary = 0.0 14 override def toString = super.toString + "[salary=" + salary + "]" 15 } 1 object Test{ 2 def main(args: Array[String]): Unit = { 3 val loc = new Location(10,20,30) 4 loc.move(10,10,5)、 6 loc.name = "lc" 7 loc.salary = 35000.0 8 println(loc) 9 } 10 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |