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()

  }

}
相关推荐
百锦再11 小时前
大型省级政务平台采用金仓数据库(KingbaseES)
开发语言·数据库·后端·rust·eclipse
m0_6398171511 小时前
基于springboot个人云盘管理系统【带源码和文档】
java·spring boot·后端
biter down11 小时前
C 语言17:位操作符 & | ^:从二进制编码到大小端
c语言·开发语言
mjhcsp11 小时前
C++ map 容器:有序关联容器的深度解析与实战
开发语言·c++·map
将编程培养成爱好11 小时前
C++ 设计模式《账本事故:当备份被删光那天》
开发语言·c++·设计模式·备忘录模式
黑咩狗夜.cm11 小时前
Aspose.word实现表格每页固定表头、最后一行填满整个页面
开发语言·c#·word
NUllPOINTEXCEPTION12 小时前
MyBatis-Plus 开发指北
后端
饼干,12 小时前
第5天python内容
开发语言·python
froginwe1112 小时前
Ruby 发送邮件 - SMTP
开发语言
bcbnb12 小时前
没有 Mac,如何上架 iOS App?跨平台开发者的完整上架实战指南
后端