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

  }

}
相关推荐
Leo655353 小时前
JDK8 的排序、分组求和,转换为Map
java·开发语言
磨十三4 小时前
C++ 标准库排序算法 std::sort 使用详解
开发语言·c++·排序算法
两只程序猿6 小时前
数据可视化 | Violin Plot小提琴图Python实现 数据分布密度可视化科研图表
开发语言·python·信息可视化
野生技术架构师6 小时前
1000 道 Java 架构师岗面试题
java·开发语言
青柠编程6 小时前
基于Spring Boot的选课管理系统架构设计
java·spring boot·后端
湫兮之风6 小时前
C++: Lambda表达式详解(从入门到深入)
开发语言·c++
Porunarufu7 小时前
JAVA·顺序逻辑控制
java·开发语言
Sylvia-girl7 小时前
C语言中经常使用的函数
c语言·开发语言
~无忧花开~7 小时前
JavaScript学习笔记(十五):ES6模板字符串使用指南
开发语言·前端·javascript·vue.js·学习·es6·js
周杰伦fans7 小时前
C# 23种设计模式详解与示例
开发语言·设计模式·c#