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()
  }
}
相关推荐
uzong1 小时前
后端线上发布计划模板
后端
uzong2 小时前
软件工程师应该关注的几种 UML 图
后端
上进小菜猪3 小时前
基于 YOLOv8 的 100 类中药材智能识别实战 [目标检测完整源码]
后端
SmartRadio4 小时前
CH585M+MK8000、DW1000 (UWB)+W25Q16的低功耗室内定位设计
c语言·开发语言·uwb
rfidunion4 小时前
QT5.7.0编译移植
开发语言·qt
rit84324994 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
大、男人4 小时前
python之asynccontextmanager学习
开发语言·python·学习
hqwest4 小时前
码上通QT实战08--导航按钮切换界面
开发语言·qt·slot·信号与槽·connect·signals·emit
码事漫谈4 小时前
AI 技能工程入门:从独立能力到协作生态
后端
码事漫谈4 小时前
构建高并发AI服务网关:C++与gRPC的工程实践
后端