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()
  }
}
相关推荐
a诠释淡然12 小时前
C++模板元编程—现代C++的黑魔法
开发语言·c++
用户2986985301413 小时前
Java 中的 HTML 解析:从文件读取、URL 抓取到数据提取
java·后端
charlie11451419113 小时前
现代C++工程:constexpr 基础:编译期求值的艺术
开发语言·c++
AskHarries13 小时前
ZJF.AI:简单、稳定、免费的图片托管与外链分享平台
后端
MemoriKu13 小时前
Flutter 相册 APP 视频模态稳定化实战:从视频抽帧、Embedding 元数据到 Android 真机启动修复
android·开发语言·前端·flutter·架构·音视频·embedding
百珏13 小时前
流量没暴涨,网关却挂了:Spring Cloud Gateway 从 500 QPS 优化到 4200 QPS
后端·spring cloud·架构
SilentSamsara13 小时前
特征工程系统方法论:编码、分箱、交互特征与特征选择
开发语言·人工智能·python·机器学习·青少年编程·信息可视化·pandas
ICT系统集成阿祥13 小时前
什么是AI ECN?
后端
XovH13 小时前
Redis 从入门到精通:数据结构Hash 与 List
后端
morning_judger13 小时前
Agent开发系列(十)-知识库建设(架构总览)
开发语言·人工智能