当前位置: 首页 > news >正文

谈谈你对多态的理解

什么是多态?

多态是面向对象三大特征之一,我的理解就是多态可以使不同的对象,去调用同名的方法的时候有不同的实现。

静态多态

通过方法重载来实现,重载的方法同名但是方法参数不同,于是可以在编译时确定对象调用哪个方法。

动态多态

在运行时确定调用哪个方法,通过继承,重写,向上转型实现。不同子类继承父类的方法,可以通过方法重写来实现不同的逻辑,比如有动物类,其中有eat方法,打印了一句话“动物吃东西”,猫类和狗类继承动物类,猫重写eat方法为“猫吃鱼”,狗重写eat方法为“狗吃骨头”,在创建猫对象或者狗对象时,让父类的引用指向子类,就可以实现动态多态。
比如:Animal  dog = new Dog(); Animal cat = new Cat(); 这样dog.eat()和cat.eat()就是不同的实现。

http://www.dtcms.com/a/98183.html

相关文章:

  • coding ability 展开第七幕(前缀和算法——进阶巩固)超详细!!!!
  • 算法基础——二叉树
  • Java 程序员面试题:从基础到高阶的深度解析
  • Elasticsearch 完全指南
  • 【HarmonyOS 5】初学者如何高效的学习鸿蒙?
  • Bitnode和Bitree有什么区别 为什么Bitree前多了*
  • 缴纳过路费--并查集+优先队列
  • Qt进阶开发:Graphics View图形视图框架
  • QT 跨平台发布指南
  • 枚举算法-day2
  • python 列表-元组-集合-字典
  • 软件工程之软件开发模型(瀑布、迭代、敏捷、DevOps)
  • 综述速读|086.04.24.Retrieval-Augmented Generation for AI-Generated Content A Survey
  • 深度学习处理时间序列(6)
  • 自学-python-基础-注释、数据类型、运算符、判断、循环
  • 树莓派超全系列文档--(13)如何使用raspi-config工具其二
  • 中断管理常用API详解(三)
  • flatMap 介绍及作用
  • C#连接sqlite数据库实现增删改查
  • 大模型最新面试题系列:微调篇之微调框架(二)
  • AI赋能python数据处理、分析与预测操作流程
  • Vue背景介绍+声明式渲染+数据响应式
  • 基于Baklib的云内容中台落地实践
  • JMeter运行日志详细分析
  • Kafka Stream从入门到精通:构建高吞吐、低延迟的实时流处理应用
  • 力扣.旋转矩阵Ⅱ
  • sqli-labs靶场 less6
  • Android 串口配置
  • 双磁条线跟踪控制
  • LJF-Framework 第12章 LjfFilter拦截器设计