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()
  }
}
相关推荐
2501_92164949几秒前
股票 API 对接, 接入德国法兰克福交易所(FWB/Xetra)实现量化分析
后端·python·websocket·金融·区块链
小兔崽子去哪了几秒前
Java 登录专题
java·spring boot·后端
wuguan_2 分钟前
C#文件读取
开发语言·c#·数据读写
hoiii1872 分钟前
基于C#的PLC串口通信实现
开发语言·c#·plc
shark_chili3 分钟前
深入剖析arthas技术原理
后端
神仙别闹6 分钟前
基于 SeetaFace+VS2017+Qt 的人脸识别
开发语言·qt
电商API_180079052478 分钟前
进阶篇:电商商品评论情感分析 + 关键词挖掘(Python NLP 实战)
大数据·开发语言·网络·数据库·人工智能
chao18984414 分钟前
基于MATLAB的ADI方法求解偏微分方程详解
开发语言·算法·matlab
AAA阿giao17 分钟前
拼乐高式开发:深入剖析 React 组件通信、弹窗设计与样式管理
开发语言·前端·javascript·react.js·前端框架·props·components
apihz18 分钟前
免费手机号归属地查询API接口详细教程
android·java·运维·服务器·开发语言