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()
  }
}
相关推荐
小温冲冲6 分钟前
Qt WindowContainer 完整实战示例:QWidget 嵌入 QML
开发语言·数据库·qt
woniu_maggie10 分钟前
SAP CPI 开发RFC适配器的Integration Flow
后端
MyBFuture25 分钟前
Halcon条形码与二维码识别全攻略
开发语言·人工智能·halcon·机器视觉
树獭叔叔31 分钟前
Agent 记忆系统设计全景:从短期对话到长期知识沉淀
后端·aigc·openai
AI+程序员在路上40 分钟前
新手进入嵌入式行业方法与方向选择
c语言·开发语言·单片机·嵌入式硬件
dovens40 分钟前
GO 快速升级Go版本
开发语言·redis·golang
芦芭荞1 小时前
QT之TCP/IP通讯
开发语言·qt·tcp/ip
zero15971 小时前
Python 8天极速入门笔记(大模型工程师专用):第三篇-列表与字典(Python核心数据结构,大模型必备)
开发语言·python·ai编程
书到用时方恨少!1 小时前
Python 零基础入门系列(十一):模块和包
开发语言·python
Lenyiin1 小时前
深度剖析 C 语言标准IO库:stdio 实现原理与实战指南
c语言·开发语言