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()
  }
}
相关推荐
MyBFuture3 分钟前
Halcon 图像处理技巧:抠图与形态学操作指南
开发语言·halcon
掘金者阿豪12 分钟前
OpenClaw Skills 完全指南:手把手教你安装与实战应用
后端
qq_4160187218 分钟前
移动平台C++开发指南
开发语言·c++·算法
Nyarlathotep011319 分钟前
LongAdder为什么那么快?
java·后端
自动化智库19 分钟前
西门子S7-1200PLC与V90PN伺服基于FB284模块的定位控制应用
开发语言·科技
3GPP仿真实验室22 分钟前
【MATLAB源码】CSI-RS:信道估计仿真与评估平台
开发语言·matlab
AI-小柒26 分钟前
DataEyes 聚合平台 + Claude Code Max 编程实战
android·开发语言·人工智能·windows·python·macos·adb
王璐WL27 分钟前
【C++】string的经典算法题
开发语言·c++·算法
兑生27 分钟前
【灵神题单·贪心】2279. 装满石头的背包的最大数量 | 排序贪心 | Java
java·开发语言
阿贵---33 分钟前
C++中的工厂模式高级应用
开发语言·c++·算法