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()
  }
}
相关推荐
老孙讲技术2 分钟前
周界枪响了、电梯脸却进了物业群:一个 callback,怎么把 alarm 和 faceAnalysis 拆成两条值班线?
后端·物联网
大勇前进9 分钟前
千万级大表 SQL Server 查询慢?一套可落地的性能调优实战路径
后端
前端开发张小七10 分钟前
Java 学习笔记 · 第三课:多线程与并发编程(线程、同步、死锁、Lock、乐观锁与悲观锁)
java·后端·程序员
站大爷IP10 分钟前
Python 的 defaultdict 把我坑惨了,原来缺失键会自动创建,但 `__missing__` 的副作用让我调试到崩溃
后端
用户名不能为空被占用13 分钟前
记一次数据权限改造,看 NestJS 装饰器与守卫的组合应用
后端·nestjs
摇滚侠29 分钟前
SpringBoot 官网 阅读笔记 启用生产就绪功能 端点
spring boot·笔记·后端
用户昵称10032 分钟前
C/C++编程-工程实践-本地存储log的工程意义
c语言·开发语言
我命由我123451 小时前
匈牙利命名法
java·服务器·后端·学习·java-ee·kotlin·学习方法
吹什么轩2 小时前
c++复习:map和set的使用
开发语言·c++
苏三说技术2 小时前
一线大厂的Git规范
后端