Scala的多态

从编译的角度解释Scala的多态含义:在执行期间而非编译期间确定所引用对象的类型,根据实际类型调用其方法。一个编译型语言有两种类型,分别为编译类型和运行类型。程序中定义的引用变量所指向的具体类型和通过该变量发出的方法调用在编译时不确定,而是在程序运行期间才确定的。

Scala 复制代码
class Animal(){
  var name=""
  def run():Unit={
    println("animal run.....")
  }
}
//继承
//1.不劳而获
class Dog extends Aniaml(){
  //重写父类方法
  override def run():Unit={
    println("dog is running...")
  }
}
class Cat extends Aniaml(){
  override def run():Unit={
    println("cay is  running...")
  }
}
object bbb {
  def main(args: Array[String]): Unit = {
    val d1=new Dog()
    val c1=new Cat()
    run(d1)
    run(c1)

  }
  def run(obj:Aniaml):Unit={
    obj.run()
  }
}
相关推荐
weixin_30777913几秒前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
ttwuai6 分钟前
Go后台管理系统开源项目:4个官方仓库怎么追溯和核验
开发语言·golang·开源
谢亮_vipxieliang8 分钟前
Go Worker Pool 设计——从原理到生产级实现
开发语言·后端·golang
IT_陈寒31 分钟前
为什么你应该学习JavaScript?
前端·人工智能·后端
lightning_bug40 分钟前
Windows系统Docker+SpringBoot+H5+Mysql+Redis打包部署流程
后端·架构
SingleShadow41 分钟前
一文搞懂 CAN 总线:从入门到 STM32 应用
后端
Escalating_xu1 小时前
【C 语言】深入理解指针(5):sizeof、strlen、数组名语义与指针笔试题全解析
java·c语言·开发语言
码事漫谈1 小时前
国庆七天,AI圈没一天消停
后端
掘金酱1 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
montEvergreen1 小时前
RTMP 里的那根“连接线”:读一份 NetConnection 源码
后端·go