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()
  }
}
相关推荐
十年磨剑走天涯2 分钟前
C++ STL 容器操作复杂度速查表
开发语言·c++
万少3 分钟前
DeepSeek-V4-Flash 正式版上线了,但这 3 个坑我帮你提前踩了
前端·javascript·后端
明月_清风6 分钟前
🚀 Palantir Foundry 本体论实战:当 Ontology 从"知识图谱"进化为"企业操作系统"
前端·后端
always_TT8 分钟前
【Python requirements.txt 依赖管理】
开发语言·python
15Moonlight17 分钟前
C++进阶(09):特殊类设计
开发语言·c++
宁风NF23 分钟前
JavaScript:网络请求与前端通信
开发语言·前端·javascript·网络·学习·ecmascript
明月_清风23 分钟前
从概念到代码:用 Ontology 构建你的第一个知识图谱
前端·后端
Python私教38 分钟前
Django 6.1 邮件配置大改:旧项目如何平稳升级?
后端·python·django
Python私教41 分钟前
Django 6.1 升级避坑:数据库版本不兼容怎么解决?
后端·python·django
Python私教41 分钟前
Django 接口开发实测:新手还需要使用 REST 框架吗?
后端·python·django