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++ map 底层与AVL 树
开发语言·c++·算法
喆星时瑜2 小时前
R语言向量语法的详细教程
开发语言·r语言
乃嘿仔2 小时前
AI 热点日报 · 2026-10-01
开发语言·人工智能·php
Wx-bishekaifayuan2 小时前
springboot房屋租赁系统11574-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·sql·spring·课程设计
青山木2 小时前
秒杀系统设计(二):数据正确性——防超卖、分布式锁与一人一单
分布式·后端·mysql·中间件·架构
重生之小比特3 小时前
【C++进阶】异常
开发语言·c++
朝朝辞暮i3 小时前
C++ 第 15 课:指针 * 和地址 &
开发语言·c++
KING-WU5123 小时前
Linux 工具之 yum、vim、gcc
linux·运维·服务器·后端
蜗牛互联网3 小时前
GPT-6.1 Sol迁移指南:从token单价转向每任务成本门禁
java·人工智能·后端·gpt
奶茶树3 小时前
【C++】14. C++11新特性【下】
开发语言·c++