什么是多态?

简介: 什么是多态?

提到了多态,那么我们首相应该想到的是封装和继承,它们三者之间的关系,我们可以是:封装→继承→多态。


9c622c79458b4d8198f81013a5bffcbd.png

首先来看这一版代码,作者把四个运算方法写到了一个方法中,说明他没有做到抽象,此时如果我要再加一种新的运算方法呢,那就只能修改这个方法中的代码,再加一层switch。


1198e4ea33344f70a35aa1ece6863153.png


接下来再看这一版,作者把四个运算方法分别封装到了各个类中,抽象出来一个运算类,这样我们再想添加一种新的运算方法是不是就会变得很容易呢,不需要修改原来的代码,我们直接新写一个子运算子类来继承Operation这个运算类就可以了。


b9c5efb668344bd2be0798f9484af504.png


大家再看一下这段代码,其中首先声明了一个引用变量oper,其次在下面的switch中传入不同的case中的内容来决定oper这个引用变量具体指向的哪个子类的对象。


这也就对应了多态这个概念中的为不同的数据类型的实体提供统一的接口,不同的数据类型实体指的就是各个case中的new Operationxx();


b6359ffab2e44fdcb809fb98bc9cdbee.png

84729d46817b400693f864286edaac81.png

0c441c8fe52949ff9bbfb83a4a4b846e.png


以上代码就是对应多态中的,同一操作拥有不同的解释,产生不同的执行结果。


目录
相关文章
|
存储 监控 安全
【Elasticsearch专栏 11】深入探索:Elasticsearch如何支持多租户架构
Elasticsearch支持多租户架构主要通过索引隔离、集群隔离和基于路由的隔离。通过为每个租户创建独立索引或配置路由规则,实现数据隔离。同时,利用基于角色的访问控制机制进行权限管理,确保租户数据安全。这些策略提供了灵活且安全的多租户支持。
605 5
|
JavaScript 前端开发 开发工具
基于 Vue3.0 和 Ant Design Vue ,高颜值管理后台UI框架vue-vben-admin运行
基于 Vue3.0 和 Ant Design Vue ,高颜值管理后台UI框架vue-vben-admin运行
844 1
|
关系型数据库 MySQL 数据库
如何卸载MySQL?
【6月更文挑战第13天】如何卸载MySQL?
319 3
|
人工智能 自然语言处理 搜索推荐
博物馆地图导览系统:GIS与蓝牙定位技术实现地图导览与语音解说功能
维小帮博物馆地图导览系统结合GIS地图、蓝牙定位及智能语音解说,为访客提供沉浸式导览。系统采用自研地图引擎,精准构建三维模型,支持路径规划与个性化定制。蓝牙技术实现高精度室内定位及自动触发语音解说功能,无需手动操作。系统还支持多语言解说与AI语音生成,提升参观体验。目前已在多个博物馆应用并获好评。期待与您共同推进文化科技的融合发展!
479 3
|
存储 Oracle 关系型数据库
|
数据采集 存储 人工智能
蚂蚁集团联合上海仁济医院泌尿科发布国内首个临床专科推理数据集:RJUA-QA
详细介绍数据集的构建过程、特点及统计分析,并全面评测了行业和通用大模型在该数据集上的性能,后续团队将持续优化数据集,为人工智能在医疗领域的研究与应用提供有力支持。
蚂蚁集团联合上海仁济医院泌尿科发布国内首个临床专科推理数据集:RJUA-QA
|
存储 安全 区块链
探索区块链技术在数据安全中的应用
【7月更文挑战第31天】本文深入探讨了区块链技术如何革新数据安全领域,通过其独特的分布式账本技术、加密算法和共识机制,为保护个人隐私、确保数据完整性和防止数据篡改提供了新的解决方案。文章分析了区块链在提高数据透明度、降低中心化风险以及促进数据共享方面的潜力,并讨论了实施过程中可能遇到的挑战和未来的发展方向。
213 0
|
SQL 关系型数据库 MySQL
关于MYSQL flush table的作用
关于MYSQL flush table的作用水平有限,还待学习。如有错误,请指正。 先给出官方文档: ? FLUSH TABLES Closes all open tables, forces all tables in use to be closed, and flushes the query cache.
5271 0
|
存储 JSON 程序员
好用到爆!IDEA 版 Postman 面世了,功能真心强大
IDEA是最常用的开发工具,很多程序员都想把它打造成一站式开发平台,于是安装了各种各样的插件。最近发现了一款IDEA插件RestfulFastRequest,细节做的真心不错,说它是IDEA版的Postman也不为过,推荐给大家!
|
XML 安全 Java
网络安全-XXE(XML外部实体注入)原理、攻击及防御
网络安全-XXE(XML外部实体注入)原理、攻击及防御
702 0
网络安全-XXE(XML外部实体注入)原理、攻击及防御