scala22: 继承

提示

scala也只能支持单继承,实现多继承可以用特质

demo

在这里插入图片描述

//父类
class Point(val xc:Int,val yc:Int) {
  var x:Int = xc
  var y:Int = yc
  def move(dx:Int,dy:Int):Unit = {
    x+=dx
    y+=dy
    println("移动后x坐标为"+ this.x)
    println("移动后y坐标为"+ this.y)
  }
}

//定义子类,如果子类和父类定义了同名参数,需要override关键字
class Location(override val xc:Int,override val yc:Int,var z:Int) extends Point(xc,yc){
  def move(dx: Int, dy: Int , dz:Int): Unit = {
    super.move(dx,dy)
    z += dz
    println("移动后z坐标为"+this.z)
  }
}

//定义主方法
object testClass {
  def main(args: Array[String]): Unit = {
    val obj = new Location(1,1,1)
    obj.move(1,1,1)
    //判断对象是不是属于给定的类
    println(obj.isInstanceOf[Point])
    //类型转换
    obj.asInstanceOf[Point]
    //获取类的信息
    println(classOf[Location])
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值