华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第九章 多态性

苹者演大孝 South China Agr icultur al Uni versity 第九章多态性
第九章 多态性

主要类容 ◆91延迟绑定 ◆9.2由继承实现多态性 ◆9.3利用接口是想多态性 ◆94排序 ◆9.5搜索 ◆9.6多态性设计 ◆9.7事件处理 ◆98文件选择对话框 9.9颜色选择对话框 ◆9.10滑动条
主要类容: ◆ 9.1 延迟绑定 ◆ 9.2 由继承实现多态性 ◆ 9.3 利用接口是想多态性 ◆ 9.4 排序 ◆ 9.5 搜索 ◆ 9.6 多态性设计 ◆ 9.7 事件处理 ◆ 9.8 文件选择对话框 ◆ 9.9 颜色选择对话框 ◆ 9.10 滑动条

91延迟绑定 ■通常一个引用变量的类型要与其引用的对象的类 相匹配。 ChessPiece bishop; ■引用变量的类型和该引用变量指向的对象必须是 兼容的,但不必完全相同。 ■多态性可以理解为多种形式,一个多态性引用是 可以在不同时间指向不同类型对象的引用变量。 ■利用多态性调用的方法能够由一个调用改变为另 个调用
◼通常一个引用变量的类型要与其引用的对象的类 相匹配。 ChessPiece bishop; ◼ 引用变量的类型和该引用变量指向的对象必须是 兼容的,但不必完全相同。 ◼多态性可以理解为多种形式,一个多态性引用是 可以在不同时间指向不同类型对象的引用变量。 ◼利用多态性调用的方法能够由一个调用改变为另 一个调用。 9.1 延迟绑定

■如下代码: obj.do工t(); ■如果obj引用是多态性,可以在不同时刻指向不同类型的对象 ■在一个程序执行的某个时刻可能会产生一个请求事件,要求执行 某段代码来完成一个方法调用,这种请求事件称为一个方法调用 与一个方法定义的绑定。 ■如果绑定发生在编译阶段,那么每次引用方法的代码都相同。 ■对于多态性引用,綁定要延迟到程序运行时才能执行,延迟的请 求事件称为延迟绑定或者动态绑定。 延迟绑定能给程序设计带来交大的灵活性。 ■在java中用继承方式和接口方式来建立多态性引用
◼ 如下代码: obj.doIt(); ◼ 如果obj引用是多态性,可以在不同时刻指向不同类型的对象。 ◼ 在一个程序执行的某个时刻可能会产生一个请求事件,要求执行 某段代码来完成一个方法调用,这种请求事件称为一个方法调用 与一个方法定义的绑定。 ◼ 如果绑定发生在编译阶段,那么每次引用方法的代码都相同。 ◼ 对于多态性引用,绑定要延迟到程序运行时才能执行,延迟的请 求事件称为延迟绑定或者动态绑定。 ◼ 延迟绑定能给程序设计带来交大的灵活性。 ◼ 在java中用继承方式和接口方式来建立多态性引用

92由继承实现多态性 ■当用类声明了一个引用变量时,该变量可以指向 该类的任何一个对象,此外还可以指向由继承关 系的任何对象。 ■比如:类 holida派生出一个类 christmas, 个 holiday类引用能够指向一个 christmas类变 Holiday Holiday day; day new christmas()i Christmas
5 9.2 由继承实现多态性 ◼当用类声明了一个引用变量时,该变量可以指向 该类的任何一个对象,此外还可以指向由继承关 系的任何对象。 ◼比如:类holiday派生出一个类christmas,一 个holiday类引用能够指向一个christmas类变 量。 Holiday day; day = new Christmas(); Holiday Christmas

References and Inheritance ■也可以将父类对象赋给一个子类引用,但是需要 进行类型转换。一般不常用,可能会引起问题。 个 object引用可以指向任何对象。因为所有类 都是由 object类派生的
6 References and Inheritance ◼也可以将父类对象赋给一个子类引用,但是需要 进行类型转换。一般不常用,可能会引起问题。 ◼一个object引用可以指向任何对象。因为所有类 都是由object类派生的

■被引用对象类型决定被调用方法,而不是引用类型。 ■如果 oliday类有一个方法叫 celebrate, Christmas类重载了这个方法。 Now consider the following invocation: day. celebrate()i
◼ 被引用对象类型决定被调用方法,而不是引用类型。 ◼ 如果 Holiday 类有一个方法叫 celebrate, Christmas 类重载了这个方法。 ◼ Now consider the following invocation: day.celebrate();

Polymorphism via Inheritance ■分析下列类层次结构: StaffMember Volunteer Employee Executive Hourly
Polymorphism via Inheritance ◼ 分析下列 类层次结构: StaffMember Executive Hourly Volunteer Employee

Polymorphism via Inheritance Now let's look at an example that pays a set of diverse employees using a polymorphic method See Firm iava(page 317) See Staff. iava (page 319 See StaffMember, iava(page 320) See Volunteer iava(page 321) See Employee. java(page 322 See Executive, iava(page 323) See Hourly iava(page 324
Polymorphism via Inheritance ◼ Now let's look at an example that pays a set of diverse employees using a polymorphic method • See Firm.java (page 317) • See Staff.java (page 319) • See StaffMember.java (page 320) • See Volunteer.java (page 321) • See Employee.java (page 322) • See Executive.java (page 323) • See Hourly.java (page 324)

93利用接口实现多态性 ■接口名可以用作声明对象引用变量的类型。 public interface Speaker i public void speak(; ■ Speaker current public boid announce( String str) ■一个接口引用变量可以指向任何实现该接口的实现类的 对象。实现类于其所实现的接口关系如同子类于父类的关 系,实现类与其接口之间有“是一种”关系。 ■执行代码时实际调用的方法取决于调用发生时候接口引 用所指向的对象的类型。 current speak ()i
9.3 利用接口实现多态性 ◼接口名可以用作声明对象引用变量的类型。 public interface Speaker { public void speak(); public boid announce (String str); } ◼Speaker current; ◼ 一个接口引用变量可以指向任何实现该接口的实现类的 对象。实现类于其所实现的接口关系如同子类于父类的关 系,实现类与其接口之间有“是一种”关系。 ◼ 执行代码时实际调用的方法取决于调用发生时候接口引 用所指向的对象的类型。 current.speak();
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第8章. Intel系列高档微处理器的技术发展.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第7章. 可编程接口芯片及应用.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第6章. 输入与输出中断.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第5章.微机的存储器.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第4章. 80868088汇编语言程序设计.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第3章. 8086/8088微处理器及其系统.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第2章. 微机运算基础.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第1章. 微机系统导论.ppt
- 北京航空航天大学:《微机原理》课程教学资源(PPT课件)第四讲 8086/8088的指令系统.ppt
- 北京航空航天大学:《微机原理》课程教学资源(PPT课件)第四讲 8086/8088的指令系统.ppt
- 北京航空航天大学:《微机原理》课程教学资源(PPT课件)第六讲 8086指令系统(续).ppt
- 北京航空航天大学:《微机原理》课程教学资源(PPT课件)第三讲 8086/8088CPU结构(1/2).ppt
- 北京航空航天大学:《微机原理》课程教学资源(PPT课件)第三讲 8086/8088CPU结构(2/2).ppt
- 北京航空航天大学:《微机原理》课程教学资源(PPT课件)第一讲 第一章 概述 第二章 微机信息处理的数学基础.ppt
- 医学统计之星《SPSS 软件教程》电子文档_第四章 SPSS结果窗口用法详解.doc
- 医学统计之星《SPSS 软件教程》电子文档_第十章 多元线性回归与曲线拟合.doc
- 医学统计之星《SPSS 软件教程》电子文档_第十四章 活着——Survival菜单详解(下).doc
- 医学统计之星《SPSS 软件教程》电子文档_第十二章 非参数检验.doc
- 医学统计之星《SPSS 软件教程》电子文档_第十三章 活着——Survival菜单详解(上).doc
- 医学统计之星《SPSS 软件教程》电子文档_第十一章 分类资料的回归分析.doc
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第一章 Hello Java(黄小虎).ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第二章 数据与表达式.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第三章 使用类和对象.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第四章 编写类.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第五章 条件和循环语句.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第六章 面向对象设计.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第七章 数组.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第八章 继承.ppt
- 广州航海学院(广州航海高等专科学校):《电子商务》课程教学资源_参考实验网址.doc
- 广州航海学院(广州航海高等专科学校):《电子商务》课程教学资源_参考文献.doc
- 广州航海学院(广州航海高等专科学校):《电子商务》课程教学资源_电子商务教学方案.doc
- 《电子商务》PPT讲稿 第一章 引言-什么是电子商务(1.3-1.5).ppt
- 《电子商务》PPT讲稿 第五章 电子商务与金融电子化(2/3).ppt
- 《电子商务》PPT讲稿 第五章 电子商务与金融电子化(3/3).ppt
- 《电子商务》PPT讲稿 第六章 电子商务实现技术-数据库技术.ppt
- 《电子商务》PPT讲稿 第七章 物流标识技术.ppt
- 《电子商务》PPT讲稿 第八章 创建一个企业的电子商务(1/2).ppt
- 《电子商务》PPT讲稿 第八章 创建一个企业的电子商务(2/2).ppt
- 《电子商务》PPT讲稿 第九章 网络商务信息的收集和整理(1/2).ppt
- 《电子商务》PPT讲稿 第九章 网络商务信息的收集和整理(2/2).ppt