Scala的多态概述

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("cat is running...")
  }
}
object day13 {
  def main(args: Array[String]): Unit = {
    val d1 = new Dog()
    val c1 = new Cat()
    //d1.run()=多态
    //定义函数:一个函数的参数是一个对象
    run(d1)
    run(c1)
  }
  def run(obj:Animal):Unit = {
    obj.run()

  }

}
相关推荐
watson_pillow10 分钟前
c++ 协程的初步理解
开发语言·c++
庞轩px10 分钟前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
故事和你9127 分钟前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
小码哥_常1 小时前
Spring Boot 中JWT登录授权+无感刷新,看这篇就够了!
后端
白毛大侠2 小时前
理解 Go 接口:eface 与 iface 的区别及动态性解析
开发语言·网络·golang
李昊哲小课2 小时前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl
Hou'2 小时前
从0到1的C语言传奇之路
c语言·开发语言
码农BookSea2 小时前
深度解析Skills:从Prompt到能力复用的技术革命
后端·ai编程
不知名的老吴2 小时前
返回None还是空集合?防御式编程的关键细节
开发语言·python
计算机毕设指导62 小时前
基于SpringBoot校园学生健康监测管理系统【源码文末联系】
java·spring boot·后端·spring·tomcat·maven·intellij-idea