版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块四面向对象-高阶特性多态任务三多态多态是继封装、继承之后,面向对象的第三大特性。通过之前的学习,我们已经掌握了封装和继承的核心思想,本节将讲解面向对象中的多态。学习目标熟悉多态概述,能够简述多态的概念和实现基础
先定一个小目标!掌握对象类型转换,能够灵活对对象进行向上转型和向下转型熟悉instanceof关键字的应用,能够使用instanceof关键字判断一个对象是否为某个类或其子类的实例多态概述多态本来是生物学里的概念,表示地球上的生物在形态和状态方面的多样性。在Java的面向对象中,多态通常指的是运行时多态,当一个子类继承一个父类并重写父类中的方法时,或者一个子类实现一个接口并实现接口中的方法时,同一个行为可以有多个不同表现形式。多态概述对象多态指同一个引用变量可以引用不同类型的对象,一般表现为一个父类的引用可以指向不同的子类对象。例如父类Animal有两个子类Cat和Dog,一个Animal对象可以指向一个Dog对象或者一个Cat对象。行为多态也称为方法多态,当用父类引用变量调用被子类重写的方法时,程序会根据对象的实际类型来确定调用哪个方法,实现不同对象调用相同方法时的不同响应。也就是说不同对象调用相同方法,可能会表现出不同的行为。
多态概述下面通过一个子类重写动物类的案例演示Java的运行时多态。案例演示Example13.java源代码多态概述案例的运行结果如下图所示。案例演示
对象类型转换多态形式下,使用父类应用变量引用不同子类对象可以提高代码灵活性。但是编译器只认识引用变量的类型,而不知道它所引用的具体对象的类型,因此无法直接调用子类特有的方法和属性。为了解决这个问题,可以进行类型转换。Java中的对象类型转换有向上转型和向下转型两种。对象类型转换向下转型:指将父类的引用变量转换为子类的引用变量,从而获得对子类特有方法和属性的访问权限。向上转型:将子类对象赋值给父类引用变量。向上转型和向下转型的语法格式。父类类型变量名=new子类对象;
//向上转型子类类型变量名=(子类类型)父类变量名;
//向下转型向上转型的过程程序会自动完成,而向下转型需要显示地编写类型转换代码,并且需要指明转型后的子类类型。对象类型转换下面修改文件Example13.java,演示对象类型的转换,在子类中添加特有方法,并在主方法中调用它。案例演示Example14.java源代码对象类型转换案例的运行结果如下图所示。案例演示对象类型转换需要注意的是,在向下转型之前,需要先进行一个对应的向上转型,这样可以确保引用变量所引用的对象属于子类,不能将父类实例强制转换为子类实例。例如,将文件Example14.java中第29行代码修改为下面所示代码。案例演示Dogdog=(Dog)newAnimal();再次运行文件Example14.java,结果如下图所示。instanceof关键字instanceof关键字的作用:用于检查对象是否是特定类型的实例。使用格式如下:objectinstanceoftypeobject:要检查的对象type:要检查的类型返回值:boolean类型,如果object是type的实例或type子类的实例,则返回true;否则返回false。instanceof关键字下面再次修改文件Example14.java,使用instanceof关键字判断变量的数据类型后再进行类型转换。案例演示Example15.java源代码instanceof关键字修改后的案例运行结果如下图所示。案例演示【案例4-3】餐厅外卖配送随着科技的发展和人们生活节奏的加快,许多餐厅开始提供外卖服务。某餐厅在顾客在外卖软件上下单后,餐厅员工通过该软件管理用户的订单,如果发现存在待配送,则寻找外卖员对订单进行配送。为了节省资金,餐厅也会安排空闲的服务员对待配送的订单进行配送。现在需要给这个餐厅做一个外卖订单配送的管理系统。案例描述【案例4-3】餐厅外卖配送案例效果【案例4-3】餐厅外卖配送案例分析任务小结本节任务主要讲解了面向对象的多态知识。首先介绍了多态的概念
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京首华物业管理有限公司招聘2人备考题库附答案详解【考试直接用】
- 2026山东青岛澳西智能科技有限公司招聘2人备考题库【巩固】附答案详解
- 自然保护区巡护防野兽安全教育培训
- 2026陕西延安北方医院招聘备考题库含完整答案详解【各地真题】
- 2026湖北武汉市第三医院骨干人才及成熟型人才招聘备考题库及参考答案详解【研优卷】
- 2026浙江宁波华侨温德姆至尊豪廷大酒店招聘2人备考题库及参考答案详解
- 调查问卷设计与分析指南
- 2026恒丰银行总行实习生招收备考题库及参考答案详解【培优a卷】
- 2026河北新质科技有限公司校园招聘4人备考题库附参考答案详解(综合卷)
- 2026浙江事业单位统考丽水市松阳县招聘39人备考题库附答案详解(巩固)
- 无痛人流患者护理查房
- IPCJEDECJSTD020F 非气密性表面贴装器件(SMDs)的湿气回流敏感性分类
- 中职生文明礼仪教育主题班会《文明礼貌伴我行》课件
- 工厂安全用电管理制度
- 家装拆墙合同协议书
- T/CECS 10266-2023排水用湿式一体化预制泵站
- T/CCMA 0135-2022智能控制的人货两用施工升降机技术规程
- 水泥企业质量管理规程
- 2025年安徽警官职业学院单招职业适应性考试题库含答案
- 《美丽的小兴安岭》新课标课件(第二课时)
- 内衬特氟龙不锈钢风管安装作业指导书
评论
0/150
提交评论