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()
  }
}
相关推荐
Liora_Yvonne5 分钟前
从数据库到 Vue 页面:用 LY Fullstack 完成第一个真实全栈业务模块
前端·后端·nestjs
问君能有几多愁~8 分钟前
Qt Json 序列化操作
开发语言·qt·json
黑马程序员毕设8 分钟前
非遗文化展览系统设计与实现
人工智能·spring boot·后端·微信小程序·毕设
预知同行13 分钟前
AI Native 应用缓存架构实战:语义缓存、Prompt 缓存与响应缓存的三层设计
后端·架构
xieliyu.15 分钟前
MySQL 进阶笔记:用户 / 会话 / 全局 / 局部变量 + CASE 分支语法
开发语言·数据库·笔记·mysql
唐青枫17 分钟前
别把错误当异常:Zig error set、error union 与 errdefer 实战
后端
用户2986985301422 分钟前
Markdown 转 PDF 免费在线攻略:简单几步轻松搞定
人工智能·后端·markdown
newerp24 分钟前
语法分析与 AST:Parser 与 go/ast
后端·程序员·go
newerp24 分钟前
Go 编译过程全景
后端·程序员·go
SimonKing25 分钟前
Apache Fory JSON或许可以替代FastJson
java·后端·程序员