Java核心技术整理(四)---面向对象之多态

絕刀狂花
发布: 2025-08-28 10:10:02
原创
864人浏览过

面向对象编程的三大特性包括封装、继承和多态。封装通过隐藏类的内部实现细节,允许在不影响使用的情况下修改类的内部结构,同时保护数据。外部仅能通过类提供的访问方法与其交互。继承用于重用父类代码,当两个类存在is-a关系时可以使用继承,这也为多态的实现奠定了基础。那么,什么是多态?多态的实现机制又是什么呢?

多态指的是一个引用(类型)在不同情境下的多种状态。换句话说,多态是指通过指向父类的指针,来调用在不同子类中实现的方法。

多态的重要性在于,它几乎是封装和继承的最终目标。这是我们探讨的最后一个概念,也是最关键的知识点。

多态的定义是,允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采取多种不同的行为方式。(发送消息即函数调用)。

实现多态的技术被称为动态绑定(dynamic binding),在执行期间判断所引用对象的实际类型,并根据其实际类型调用相应的方法。

立即学习Java免费学习笔记(深入)”;

多态的作用在于消除类型之间的耦合关系。

现实生活中,多态的例子比比皆是。例如,按下 F1 键这个动作,如果当前在 Flash 界面下,弹出的是 AS 3 的帮助文档;如果是在 Word 下,弹出的是 Word 帮助;在 Windows 下,则弹出的是 Windows 帮助和支持。同一个事件在不同的对象上会产生不同的结果。

多态存在的三个必要条件是:一、需要有继承;二、需要有重写;三、父类引用必须指向子类对象。

Java核心技术整理(四)---面向对象之多态Java核心技术整理(四)---面向对象之多态Java核心技术整理(四)---面向对象之多态 上述例子中的输出是什么呢?

乐尚商城系统
乐尚商城系统

乐尚商城系统是一项基于PHP+MYSQL为核心开发的一套免费 + 开源专业商城系统。软件具执行效率高、模板自由切换、后台管理功能方便等诸多优秀特点。 本软件是基于Web应用的B/S架构的商城网站建设解决方案的建站系统。它可以让用户高效、快速、低成本的构建个性化、专业化、强大功能的团购网站。从技术层面来看,本程序采用目前软件开发IT业界较为流行的PHP和MYSQL数据库开发技术,基于面向对象的编程

乐尚商城系统 684
查看详情 乐尚商城系统

答案是:ai , ni

分析如下:

在B类中没有对A类中的show方法进行重写,因此当调用a.show()时,执行的是父类A中的show方法。父类中的show方法调用了show2方法,但在调用时发现show2方法已被子类B重写,因此会调用子类B中的show2方法,输出"ai"。由此可见,当父类引用指向子类对象时,对父类中方法的调用会绑定到子类中重写后的方法上。如果子类没有重写该方法,则会直接调用父类中的方法,相当于直接从父类继承的方法。

场景假设:

假设一个主人养了猫和狗,猫和狗都有自己喜欢吃的东西。如果主人在喂它们时,需要先判断是猫还是狗,再判断它们分别喜欢吃什么,这会很麻烦。如果主人养了很多种动物,这种重复的判断会浪费很多时间。有什么方法可以让主人拿到一种食物就知道这是哪种动物的呢?

代码理解:

Java核心技术整理(四)---面向对象之多态Java核心技术整理(四)---面向对象之多态Java核心技术整理(四)---面向对象之多态Java核心技术整理(四)---面向对象之多态Java核心技术整理(四)---面向对象之多态Java核心技术整理(四)---面向对象之多态Java核心技术整理(四)---面向对象之多态

以上就是Java核心技术整理(四)---面向对象之多态的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号