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()
  }
}
相关推荐
覆东流1 分钟前
第7天:Python小项目
开发语言·后端·python
码化豚1 分钟前
揭秘外卖平台城市区域地理围栏/电子围栏设计
后端
qq_2546177714 分钟前
attribute((constructor)) 在C/C++中的应用
开发语言·c++
xyq202417 分钟前
HTML5 Input 类型详解
开发语言
云深麋鹿18 分钟前
C++ | 多态
开发语言·c++
我是无敌小恐龙22 分钟前
Java SE 零基础入门 Day05 类与对象核心详解(封装+构造方法+内存+变量)
java·开发语言·人工智能·python·机器学习·计算机视觉·数据挖掘
xiaogg367828 分钟前
springcloud oauth2 自定义token实现
spring boot·后端·spring cloud
逻辑驱动的ken28 分钟前
Java高频面试考点14
开发语言·数据库·算法·哈希算法
小灰灰搞电子30 分钟前
Python self关键字详解及其应用
开发语言·python
故事还在继续吗31 分钟前
C++17关键特性
开发语言·c++·算法